Android Studio: запрос разрешений с пояснениями
Хорошим тоном считается при запуске приложения если нужны какие-то разрешения, предварительно рассказывать, зачем они собственно приложению нужны. Реализовать это можно например вот так:
if (ContextCompat.checkSelfPermission(mycontext, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Местоположение");
builder.setMessage("Для того чтобы приложение правильно рассчитывало расстояние до ЭЗС вам нужно предоставить доступ к геолокации. Разрешить доступ?").setCancelable(true).setPositiveButton("Да, разрешить",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, 100);
checkPermission(Manifest.permission.ACCESS_COARSE_LOCATION, 101);
checkPermission(Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, 102);
StartInterface();
}
})
.setNegativeButton("Нет,запретить",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
StartInterface();
}
});
AlertDialog alert = builder.create();
alert.show();
} else {
StartInterface();
};

