Android Easy Runtime Permissions with Dexter Library
The purpose of app permission is to protect the privacy of the user. Android apps must request permission to access sensitive user data (such as contacts and SMS), as well as certain system features (such as camera and internet). Depending on the feature, the system might grant the permission automatically or might prompt the user to approve the request.
Dexter is an Android library that simplifies the process of requesting permissions at runtime. Dexter frees your permission code from your activities, and lets you write that logic anywhere you want.
Firstly, add this to your Gradle dependencies in the App Level Gradle File, then Sync Project with Gradle.