如何在 Android 6.0 中仅在一个确认警报对话框中询问并接受所有权限

How to ask and accept all permissions in only one confirm alert dialog in Android 6.0

我正在创建一个需要四个权限的应用程序:联系人、Phone、存储。我认为这真的很烦用户,我只想问他们一个对话。我试过这个way,但是有对话框显示每个权限的确认。

如何只询问一个带有按钮确认和取消的理性对话框?

检查以下内容link:

https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html#requestPermissions(android.app.Activity, java.lang.String[], int)

   void requestPermissions (Activity activity, 
            String[] permissions, 
            int requestCode);

requestPermissions 方法采用一个数组,您可以在其中传递多个权限。看看它是否适合你。否则只能单独传。

您不能将多个权限合二为一。即使您将权限作为数组传递,每个请求的权限都会有一个单独的对话框。

简单的回答是你不能,现在不可能在同一个对话框中请求多个权限。

您可以请求多个权限,每个权限将显示在一个对话框中。

int PERMISSION_ALL = 1; 
String[] PERMISSIONS = {Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS, Manifest.permission.SEND_SMS, Manifest.permission.ACCESS_FINE_LOCATION};

if(!hasPermissions(this, PERMISSIONS)){
    ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}

这是它向用户请求权限的方式。

参考 and this了解更多详情。