檢查權限對話框出現一次又一次,儘管授予權限並單擊所有對話框,因爲接受它關閉應用程序。權限請求對話框多次出現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。
任何人都可以指出爲什麼權限被詢問多次。
您會收到兩個提示:一個'ACCESS_FINE_LOCATION',一個用於'CAMERA'。如果用戶沒有授予權限,那麼每次調用onCreate時都會詢問您的代碼。這是你所看到的,還是你看到別的東西? –
我收到兩個提示:一個用於ACCESS_FINE_LOCATION,另一個用於CAMERA。我正在授予權限,但權限提示仍然會一次又一次地出現,如4次或5次,然後關閉應用程序。 – asifa
是否有堆棧跟蹤? – Zoe