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();
        };

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.