When you are going to be accessing a 'dangerous' permission you must check that your application has been allowed access.
On Android these permissions are listed through the manifest additions. On older versions of Android these permissions are accepted when the user installs the application. More modern versions (Marshmallow 6 [v23]+) require that you request the permissions similar to iOS. You will still need to list them in your manifest and then follow the same code below.
You should respect the
SHOULD_EXPLAIN status by displaying additional information
to your user about why you require this functionality.
You will then receive a change event if the user accepted your permission request: