Cordova Plugins Diagnostic
Cordova Plugins Diagnostic
Section titled “Cordova Plugins Diagnostic”- This plugin provides a set of APIs for checking and requesting permissions on a device.
- It allows developers to check if a specific permission is granted or not, and to request permission if it is not granted.
- It also provides methods to check if a permission is permanently denied or if the user has disabled the permission request prompt.
- It supports both Android and iOS platforms.
Installation
Section titled “Installation”cordova plugin add cordova-plugin-diagnostic
getPermissionAuthorizationStatus() - Returns the authorization status of a permission.
Section titled “getPermissionAuthorizationStatus() - Returns the authorization status of a permission.”- Accepts 3 parameters:
permission(string): The permission to check.successCallback(function): Callback function to be invoked with the authorization status.errorCallback(function): Callback function to be invoked if an error occurs.
EXAMPLE: Checking Notification Permission
cordova.plugins.diagnostic.getPermissionAuthorizationStatus( function (status) { switch (status) { case cordova.plugins.diagnostic.permissionStatus.GRANTED: console.log("Notification Permission granted"); break; case cordova.plugins.diagnostic.permissionStatus.DENIED: console.log("Notification Permission denied"); break; case cordova.plugins.diagnostic.permissionStatus.NOT_REQUESTED: console.log("Notification Permission not requested"); break; case cordova.plugins.diagnostic.permissionStatus.RESTRICTED: console.log("Notification Permission restricted"); break; case cordova.plugins.diagnostic.permissionStatus.UNKNOWN: console.log("Notification Permission unknown"); break; } }, function (error) { console.log("Notification Permissions Denied: " + error); }, cordova.plugins.diagnostic.permission.POST_NOTIFICATIONS, );requestRuntimePermission() - Request a runtime permission
Section titled “requestRuntimePermission() - Request a runtime permission”- Accepts 3 parameters
permission- The permission to requestsuccessCallback- Callback function to be invoked when the permission request is completeerrorCallback- Callback function to be invoked when an error occurs
EXAMPLE: Requesting Notification Permission
cordova.plugins.diagnostic.requestRuntimePermission( function (status) { switch (status) { case cordova.plugins.diagnostic.permissionStatus.GRANTED: console.log("Notification Permission GRANTED"); break; case cordova.plugins.diagnostic.permissionStatus.DENIED: console.log("Notification Permission DENIED"); break; case cordova.plugins.diagnostic.permissionStatus.DENIED_ALWAYS: console.log("Notification Permission DENIED ALWAYS"); console.log("User selected 'Don't ask again'"); break; } }, function (error) { console.error("Error requesting Notification Permission:", error); }, cordova.plugins.diagnostic.permission.POST_NOTIFICATIONS, );List of Permissions
Section titled “List of Permissions”- The plugin defines all dangerous permissions available up to API 33 as a list of constants available via the cordova.plugins.diagnostic.permission object. The following permissions are available:
cordova.plugins.diagnostic.permission.ACCEPT_HANDOVER
cordova.plugins.diagnostic.permission.ACCEPT_HANDOVER
cordova.plugins.diagnostic.permission.ACCEPT_HANDOVER
cordova.plugins.diagnostic.permission.ACCEPT_HANDOVER
cordova.plugins.diagnostic.permission.ACCEPT_HANDOVER
cordova.plugins.diagnostic.permission.ACCEPT_HANDOVER
cordova.plugins.diagnostic.permission.ACCESS_BACKGROUND_LOCATION
cordova.plugins.diagnostic.permission.ACCESS_BACKGROUND_LOCATION
cordova.plugins.diagnostic.permission.ACCESS_COARSE_LOCATION
cordova.plugins.diagnostic.permission.ACCESS_FINE_LOCATION
cordova.plugins.diagnostic.permission.ACCESS_MEDIA_LOCATION
cordova.plugins.diagnostic.permission.ACTIVITY_RECOGNITION
cordova.plugins.diagnostic.permission.ADD_VOICEMAIL
cordova.plugins.diagnostic.permission.ANSWER_PHONE_CALLS
cordova.plugins.diagnostic.permission.BLUETOOTH_ADVERTISE
cordova.plugins.diagnostic.permission.BLUETOOTH_CONNECT
cordova.plugins.diagnostic.permission.BLUETOOTH_SCAN
cordova.plugins.diagnostic.permission.BODY_SENSORS
cordova.plugins.diagnostic.permission.BODY_SENSORS_BACKGROUND
cordova.plugins.diagnostic.permission.CALL_PHONE
cordova.plugins.diagnostic.permission.CAMERA
cordova.plugins.diagnostic.permission.GET_ACCOUNTS
cordova.plugins.diagnostic.permission.NEARBY_WIFI_DEVICES
cordova.plugins.diagnostic.permission.POST_NOTIFICATIONS
cordova.plugins.diagnostic.permission.PROCESS_OUTGOING_CALLS
cordova.plugins.diagnostic.permission.READ_CALENDAR
cordova.plugins.diagnostic.permission.READ_CALL_LOG
cordova.plugins.diagnostic.permission.READ_CONTACTS
cordova.plugins.diagnostic.permission.READ_EXTERNAL_STORAGE
cordova.plugins.diagnostic.permission.READ_MEDIA_AUDIO
cordova.plugins.diagnostic.permission.READ_MEDIA_IMAGES
cordova.plugins.diagnostic.permission.READ_MEDIA_VIDEO
cordova.plugins.diagnostic.permission.READ_PHONE_NUMBERS
cordova.plugins.diagnostic.permission.READ_PHONE_STATE
cordova.plugins.diagnostic.permission.READ_SMS
cordova.plugins.diagnostic.permission.RECEIVE_MMS
cordova.plugins.diagnostic.permission.RECEIVE_SMS
cordova.plugins.diagnostic.permission.RECEIVE_WAP_PUSH
cordova.plugins.diagnostic.permission.RECORD_AUDIO
cordova.plugins.diagnostic.permission.SEND_SMS
cordova.plugins.diagnostic.permission.USE_SIP
cordova.plugins.diagnostic.permission.UWB_RANGING
cordova.plugins.diagnostic.permission.WRITE_CALENDAR
cordova.plugins.diagnostic.permission.WRITE_CALL_LOG
cordova.plugins.diagnostic.permission.WRITE_CONTACTS
cordova.plugins.diagnostic.permission.WRITE_EXTERNAL_STORAGE