権限の確認ダイアログボックスが再び表示され、許可を与え、すべてのダイアログボックスをクリックするとアプリケーションを終了します。許可要求ダイアログボックスが複数回表示されています。android
私は、複数のアクセス許可をチェックし、それらのいずれかが許可されていないかどうかを確認するヘルパーメソッドを持っています。
public static boolean hasPermissions(Context context, String... permissions) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
int PERMISSION_ALL = 1;
String[] PERMISSIONS = {Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CAMERA};
if(!hasPermissions(this, PERMISSIONS)){
Log.d("permission","permission");
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}
権限を付与した後も同じアクティビティ、つまりMainActivityをロードします。
許可が複数回尋ねられている理由は誰でも指摘できます。
を試してみてください。ユーザーがパーミッションを付与しない場合、コードは 'onCreate'が呼び出されるたびに尋ねられます。これはあなたが見ているものなのですか、それとも他の何かを見ていますか? –
ACCESS_FINE_LOCATIONとCAMERAの2つのプロンプトが表示されます。私は許可を与えていますが、依然として許可のプロンプトは何度も何度も何度も出現し続け、その後アプリが終了します。 – asifa
スタックトレースはありますか? – Zoe