2017-01-21 18 views
1

장치가 다중 창 모드를 지원하는지 확인하는 데 문제가 있습니다. 나는이 함수를 사용하여 isInMultiWindowMode()을 확인하고 있지만 API 24에 추가되었으며, API가 낮은 버전의 장치에서 내 앱을 실행할 때 예외가 발생합니다. 낮은 API 버전의 경우이 함수를 대체 할 수 있습니까?다중 창 지원 확인

+0

하위 API에없는 경우 어떻게 확인할 수 있습니까? –

답변

0

하위 API 버전의 경우이 기능을 대체 할 수 있습니까?

Android SDK에는 없습니다. API 레벨 23 이전의 다중 창 모드는 없습니다. 그리고 어떤 이유로 든 Google은 해당 사건 (onMultiWindowModeChanged())을 지원할 수 없기 때문에 isInMultiWindowMode()ActivityCompat에 추가하지 않기로 결정했습니다.

public static boolean isInMultiWindowMode(Activity a) { 
    if (Build.VERSION.SDK_INT<Build.VERSION_CODES.M) { 
    return false; 
    } 

    return a.isInMultiWindowMode(); 
} 

어딘가에 약간의 유틸리티 클래스에 그를 추가하고 필요에 따라 전화 :

그래서, 여기에 무료 교체 방법입니다.

또한 isInMultiWindowMode()a race condition으로 인해 IMHO가 신뢰할 수 없다는 점에 유의하십시오.

+0

다중 윈도우 지원과 isInMultiWindowMode()가 Android N (API 24)에 추가되었습니다. –