Pour gérer les permissions, la librairie Dexter peut être pratique :
Sous Android SDK supérieur ou égal à 23 certaines permissions dites « dangereuses » doivent être demandées à l’utilisateur.
Exemple pour les permissions d’envoi de SMS et de localisation :
if (ContextCompat.checkSelfPermission(getApplicationContext(),
android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(getApplicationContext(),
android.Manifest.permission.ACCESS_COARSE_LOCATION) !=
PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]
{android.Manifest.permission.ACCESS_FINE_LOCATION,
android.Manifest.permission.ACCESS_COARSE_LOCATION,
android.Manifest.permission.SEND_SMS
},
101);
Gestion de la demande de permissions :
Références :
http://imandroidguru.blogspot.fr/2016/06/android-requesting-multiple-permission.html