Starting from Android Marshmallow (API 23), users will be asked for permissions while the app is running. This way, a user is able to choose which permissions they should grant without affecting the application flow. In this tutorial I will cover requesting runtime permissions in Android M and N, how to perform a request, get its result and then handle it. ** There are many user-permissions in Android but I am only going to focus on some of the most used. To begin, create a new project in Android Studio, choosing a minimum API level of 23 and adding an Empty Activity. This will be the only activity in the project. *** Declaring Permissions ====================== Open AndroidManifest.xml and add the following permissions: ``` ``` The permissions above are some of the most used in android apps, but all of them work in a similar way. *** Asking For Permission ===================== Each of this permissions will be asked for by using a button. Update the code inside activity_main.xml to: ```