[英]Asking multiple permissions together in same dialog box
是否可以在同一個對話框中同時請求多個權限——比如 READ_CONTACTS、READ_SMS 和 WRITE_EXTERNAL_STORAGE?
如果是這樣,如何? 請舉例說明。
我已經在網上搜索了幾個小時,但找不到方法。 請幫忙!
不,谷歌不允許在同一個對話框中詢問所有權限,實際上對話框本身是由谷歌創建的。 不過,您可以使用連續詢問所有權限
Google 已經制作了自己的用於處理權限的庫,輕松查看Easy Permissions
試試這個。
int ALL_PERMISSIONS = 101;
final String[] permissions = new String[]{Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_EXTERNAL_STORAGE};
在onCreate()
方法中添加以下代碼
if (!hasPermissions(LoginActivity.this, permissions)) {
ActivityCompat.requestPermissions(this, permissions, ALL_PERMISSIONS);
}
在同一個類中添加這個方法
public static boolean hasPermissions(Context context, String... permissions) {
if (context != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
不要忘記將這些添加到您的AndroidManifest.xml
文件中
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE " />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.