Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
 
47 / 45 / 8
Регистрация: 10.01.2012
Сообщений: 423
1

Проверка разрешений для VERSION_CODES.M при targetSdkVersion 12

22.09.2018, 22:53. Просмотров 450. Ответов 1
Метки нет (Все метки)

GPSAccuracyNotGoodActivity вызывается For Result, а потому задействана Activity, а не ActivityCompat.
Естественно ActivityCompat.requestPermissi ons(this, REQUIRED_PERMISSIONS, LOCATION_PERMISSION_REQUEST); не проходт.

Как решается такая коллизия?

Java
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
public class GPSAccuracyNotGoodActivity extends Activity implements OnClickListener {
 
    private GPSUtils gpsUtils;
    private PermissionUtils permissionUtils;
    private static final int LOCATION_PERMISSION_REQUEST = 1;
    private static final String[] REQUIRED_PERMISSIONS = {
            Manifest.permission.ACCESS_FINE_LOCATION
    };
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ///// бла - бла - бла ......
        checkAndStarGpstIfNeed();
 
    }
 
    private void checkAndStarGpstIfNeed() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (!permissionUtils.isPermissionGranted("ACCESS_FINE_LOCATION")) {
 
                AlertDialog.Builder builder = new AlertDialog.Builder(this)
                        .setTitle(R.string.title_location_permission)
                        .setMessage(R.string.text_location_permission)
                        .setCancelable(false)
                        .setPositiveButton(R.string.ok,
                                new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        // Request permissions from the user
                                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
 
                                        ????????????????????????????????????????????????????????????
 
                                          // ActivityCompat.requestPermissions(this, REQUIRED_PERMISSIONS, LOCATION_PERMISSION_REQUEST);
                                        }
                                        dialog.dismiss();
                                    }
                                }
                        )
                        .setNegativeButton(R.string.exit_app, new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        // Exit app
                                        exit(0);
                                    }
                                }
                        );
                builder.create().show();
            }
        } else {
            ///// бла - бла - бла ......
        }
 
    }
 
    ///// бла - бла - бла ......
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2018, 22:53
Ответы с готовыми решениями:

Восстановление разрешений на объект при замене
Различным группам пользователей даны разные разрешения на использование объектов. При замене...

Запрос разрешений при старте приложения
При старте приложения сделал запрос на пермишены в onCreate, проблемка в том, что запрос...

TargetSdkVersion в build.gradle
compileSdkVersion - это версия при помощи которой я компилирую свое приложение, а targetSdkVersion...

Смысл делать targetSdkVersion больше?
Такой пример. Если выставить targetSdkVersion 21 то приложение будет работать и на api 22, 23,.. и...

1
47 / 45 / 8
Регистрация: 10.01.2012
Сообщений: 423
23.09.2018, 18:52  [ТС] 2
Все оказалось намного проще :
Java
1
 ActivityCompat.requestPermissions(GPSAccuracyNotGoodActivity.this, REQUIRED_PERMISSIONS, LOCATION_PERMISSION_REQUEST);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2018, 18:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сохранение пропорций элементов при разных разрешений экранов
Здравствуйте! Может кто сталкивался. Существует небольшой редактор, позволяющий создать интерфейс...

Убрать постоянный запрос разрешений при попытке позвонить
При наборе номера через приложение запрашивает разрешение (permission) на звонок. Его запрашивает...

CSS для разных разрешений
Всем привет! Подскажите, разрешения нужно в CSS указывать в порядке убывания или возрастания? Вот...

Изменение разрешений для файла
Здравствуйте. Нужно запретить удаление файла (для всех). В свойствах файла\вкладке "безопасность"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.