0
我需要5個權限用於我的應用程序。這是我已經添加到我的活動1的onCreate()代碼:Android:請求多個權限時僅請求第一個權限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE}, 2);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{android.Manifest.permission.CAMERA}, 3);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{android.Manifest.permission.GET_ACCOUNTS}, 4);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{android.Manifest.permission.READ_CONTACTS}, 5);
}
}
當應用程序運行時,它只是詢問的第一個權限,而不是其餘。 我也提供了所有權限作爲數組的請求權限功能,但我也看到只有第一個權限彈出。
有人可以請幫忙。我正在我的應用程序的版本的Android M設備上,我的目標和編譯SDK版本是26
使用您需要的所有權限的單個String []來調用'requestPermissions()'一次。自定義'String []'只有你需要的權限,而不是用戶已經授予的權限。請參閱[示例應用程序](https://github.com/commonsguy/cw-omnibus/tree/v8.6/Permissions/tutorial/finish/RuntimePermTutorial)。 – CommonsWare
已經嘗試過,同樣的問題被看到,我已經提到在問題 – Sid
然後,也許你做錯了,或者你已經擁有其他權限(因此他們不需要)。再次請參閱[示例應用程序](https://github.com/commonsguy/cw-omnibus/tree/v8.6/Permissions/tutorial/finish/RuntimePermTutorial)或[此示例應用程序](https:// github .com/commonsguy/cw-omnibus/tree/v8.6/Media/AudioRecording),其中我請求沒有問題的多個權限。 – CommonsWare