Android Studio: запрос разрешений с пояснениями
Хорошим тоном считается при запуске приложения если нужны какие-то разрешения, предварительно рассказывать, зачем они собственно приложению нужны. Реализовать это можно например вот так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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(); }; |