cordova-plugin-android-permissions
cordova-plugin-android-permissions copied to clipboard
Need example on how to use for multiple permissions at a time
The documentation needs an example on how to use this for multiple permissions.
Where is the problem? Either ask for one at a time or chain them together.
I think that it is something wrong in the plugin because when I request a single permission is OK but when I request multiple permissions only show a dialog with one permission, status.hasPermission is false and then redirect to errorCallback.
The plugin not show a dialoglike this when I request multiple permissions:

Would be great to have an example of how to you use permissions.requestPermissions in conjunction with permissions.hasPermission ie: if I need to have permissions for READ_SMS, RECEIVE_SMS and SEND_SMS how do I formulate ?
Hi, I tried to create a multiple requests using the example but something goes wrong When i request a single permission it works
I need the following permissions:
permissions.CAMERA, permissions.RECORD_AUDIO, permissions.READ_PHONE_STATE, permissions.WRITE_EXTERNAL_STORAGE
Anyone could help me with an example please..
I found the problem. From the example you can't understand because there are some mistakes.
The mistake fatal for me was permissions.requestPermission instread of permissions.requestPermissions so an example could be:
var permissions = cordova.plugins.permissions;
var list_permissions = [
permissions.CAMERA,
permissions.RECORD_AUDIO,
permissions.READ_PHONE_STATE,
permissions.WRITE_EXTERNAL_STORAGE
];
permissions.requestPermissions(list_permissions, requestSuccess, requestError);
var num_permissions = list_permissions.length;
function requestSuccess(){
for (i = 0; i < num_permissions; i++) {
permissions.checkPermission(list_permissions[i], function( status ){
if ( status.hasPermission ) {
console.warn("Yes :D -> " + list_permissions[i]);
}
else {
console.warn("No :( -> " + list_permissions[i]);
}
});
}
}
function requestError(){
console.warn("Permissions request error");
}
for (var i = 0; i < num_permissions; i++) {
instead of
for (i = 0; i < num_permissions; i++) {
Call request permission after calling check
var permissions = cordova.plugins.permissions;
var list = [
permissions.RECORD_AUDIO,
permissions.WRITE_EXTERNAL_STORAGE
];
list.forEach(element => {
permissions.checkPermission(element, function(status) {
if (status.hasPermission) console.warn("Yes :D -> " + element);
else permissions.requestPermission(element, null, null);
}, null);
});
Obs: Only the permissions that are listed in AndroidManifest.xml will be called.
how to access camera contact and location permission as a runtime