Runtime permissions
If the permission you need to add is not specified in the usual permissions, you need to deal with "Runtime Permissions". Run-time permissions are permissions that are requested as needed while the application is running. These permissions will show the user a dialog similar to the following:

The first step when adding "Runtime Permission" is to add it to AndroidManifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.codepath.androidpermissionsdemo" > <uses-permission android:name="android.permission.READ_CONTACTS" /> ... </manifest>
You will need to initiate a permission request and process the result. The following code shows how to do this in the context of an Activity, but it is also possible from within the fragment.
source share