2013-08-01 1 views
6

그래서 안드로이드 4.3의 도착은 선택적으로 disable particular permissions for apps 능력을 온다.내 Android 용 앱에 대한 특정 권한이 삭제되었음을 감지 할 수 있습니까?

이것은 분명히 앱이 올바르게 작동하는 데 필요한 권한을 잃는 문제를 일으킬 수 있습니다.

권한이 취소되거나 시스템에 특정 권한이 없다는 것을 어떻게 알릴 수 있습니까? 이상적으로 나는 권한 A를 끄면 응용 프로그램에서 xyz가 중단된다는 것을 사용자에게 알리고 싶습니다.

+1

개발자가 조정할 수있는 메커니즘이 생길 때까지 숨겨진 이유가 있습니다. –

답변

2

브로드 캐스트는 없지만 시작 (또는 다시 시작 등) 할 때 권한을 직접 확인할 수 있습니다. 이를 위해 Context#checkCallingOrSelfPermission()이 제공됩니다.

귀하의 모든 권한을 확인하려면

, 당신은 같은 것을 할 수 있습니다 : 입력 문자열은 권한의 이름입니다

public static boolean[] getPermissionsGranted(Context context, String[] permissions){ 
    boolean[] permissionsGranted = new boolean[permissions.length]; 
    for(int i=0;i<permissions.length;i++){ 
     int check = context.checkCallingOrSelfPermission(permissions[i]); 
     permissionsGranted[i] = (check == PackageManager.PERMISSION_GRANTED); 
    } 
    return permissionsGranted; 
} 

같은 "android.permission.INTERNET"으로합니다.

관련 문제