2013-08-01 6 views
6

Android 4.3の登場により、選択的にdisable particular permissions for appsの機能が提供されます。Androidアプリの特定の権限が削除されたことを検出できますか?

これは、アプリケーションが正しく動作するために必要なアクセス許可を失うと、明らかに問題を引き起こす可能性があります。

権限が取り消されたときにシステムがメッセージをブロードキャストしましたか、または自分のアプリケーションに特定のアクセス権がもうないことをどのように伝えることができますか?理想的には、パーミッションAをオフにすると、アプリケーション内のxyzが破損することをユーザーに通知したいと考えています。

+1

これは、開発者が調整するための仕組みを思い付くまで、隠されています。 –

答えて

2

ブロードキャストはありませんが、スタートアップ(またはレジュームなど)でアクセス権を自分で確認できます。これにはContext#checkCallingOrSelfPermission()が提供されています。

すべてのあなたの権限を確認したい場合は、このような何か行うことができます:入力文字列は、"android.permission.INTERNET"などの権限の名前、ある

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; 
} 

を。

関連する問題