1

I would like to know how to add multiple permissions on a single request. This is regarding the Marshmallow version of android.

Floern
  • 33,559
  • 24
  • 104
  • 119
bythestarz
  • 29
  • 1
  • 10

1 Answers1

1

You need to create an arraylist of permission required

 List<String> permissionsNeeded = new ArrayList<String>();
    final List<String> permissionsList = new ArrayList<String>();
    if (!addPermission(permissionsList, Manifest.permission.READ_PHONE_STATE))
        permissionsNeeded.add("android.permission.READ_PHONE_STATE");
    if (!addPermission(permissionsList, Manifest.permission.WRITE_EXTERNAL_STORAGE))
        permissionsNeeded.add("android.permission.WRITE_EXTERNAL_STORAGE");

// addPermission

private boolean addPermission(List<String> permissionsList, String permission) {
        if (ContextCompat.checkSelfPermission(LoginActivity.this, permission) != PackageManager.PERMISSION_GRANTED) {
            permissionsList.add(permission);
            // Check for Rationale Option
            if (!ActivityCompat.shouldShowRequestPermissionRationale(LoginActivity.this, permission))
                return false;
        }
        return true;
    }

Similarly add all your permissions in array list.

// now request permission
            ActivityCompat.requestPermissions(context,
                    permissionsList.toArray(new String[permissionsList.size()]),
                    PERMISSIONS_REQUEST_CODE);
Jaiprakash Soni
  • 4,100
  • 5
  • 36
  • 67