Могу ли я определить, что для моего приложения для Android было удалено определенное разрешение?


person user1088166    schedule 01.08.2013    source источник
comment
По этой причине он был скрыт до тех пор, пока разработчики не разработали механизм для его адаптации.   -  person S.D.    schedule 01.08.2013


Ответы (1)


Трансляции нет, но вы можете самостоятельно проверить разрешения при запуске (или возобновлении работы и т. Д.). Для этого предоставляется 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".

person Geobits    schedule 01.08.2013