powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Запрос permission
9 сообщений из 9, страница 1 из 1
Запрос permission
    #39703366
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На API >= 23 нужно запрашивать разрешение перед использованием геолокации.
Делаю как в инструкции:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
import android.support.v4.app.ActivityCompat;
...
...
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
                && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            Toast toast = Toast.makeText(this, "Permission failed", Toast.LENGTH_SHORT);
            toast.show();
            return 0;
        }



Ф-я checkSelfPermission() подсвечивается красным "cannot resolve metod".
Что не так?
Может android-support-v4.jar нужен другой?
...
Рейтинг: 0 / 0
Запрос permission
    #39703383
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В манифесте какие версии сдк установлены?
...
Рейтинг: 0 / 0
Запрос permission
    #39703545
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanВ манифесте какие версии сдк установлены?

Код: xml
1.
2.
3.
    <uses-sdk
            android:minSdkVersion="9"
            android:targetSdkVersion="23"/>



В свойствах проекта:

Build target: Android API 17
JDK: jdk1.8.0_172
...
Рейтинг: 0 / 0
Запрос permission
    #39703548
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slon747API >= 23
Slon747Build target: Android API 17
Слон, ну включи мозг.
...
Рейтинг: 0 / 0
Запрос permission
    #39703619
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex55555,

Понял. Спасибо.
...
Рейтинг: 0 / 0
Запрос permission
    #39704385
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё же не получается запросить permission.
targetSdkVersion=26
Build target: Android API 26

ContextCompat.requestPermissions() - "canot resolve metod requestPermissions()"

Если же убрать ContextCompat, то ф-я выглядит так:
Код: java
1.
requestPermissions(String[] permissions, int requestCode)


И про нее не могу найти информацию.
...
Рейтинг: 0 / 0
Запрос permission
    #39704745
Фотография A Serious Man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slon747,

Вот так будет работать
Код: java
1.
2.
3.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && (checkCallingOrSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || checkCallingOrSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)) {
			isStorageAccess = false;
		}
...
Рейтинг: 0 / 0
Запрос permission
    #39704822
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A Serious ManВот так будет работать
Код: java
1.
2.
3.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && (checkCallingOrSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || checkCallingOrSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)) {
			isStorageAccess = false;
		}



Спасибо.
Я так и пробовал, но по невнимательности запрашивал через requestPermissions() уже существующее разрешение. В результате происходило зацикливание.
Теперь работает.

И всё же мне не понятно, почему везде пишут про ActivityCompat.checkSelfPermission() хотя у меня нет такого метода в ActivityCompat.
Может всё потому, что нужно наследовать свою активити от ActivityCompat?
...
Рейтинг: 0 / 0
Запрос permission
    #39704837
Фотография A Serious Man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slon747A Serious ManВот так будет работать
Код: java
1.
2.
3.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && (checkCallingOrSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || checkCallingOrSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)) {
			isStorageAccess = false;
		}



Спасибо.
Я так и пробовал, но по невнимательности запрашивал через requestPermissions() уже существующее разрешение. В результате происходило зацикливание.
Теперь работает.

И всё же мне не понятно, почему везде пишут про ActivityCompat.checkSelfPermission() хотя у меня нет такого метода в ActivityCompat.
Может всё потому, что нужно наследовать свою активити от ActivityCompat?
Да, везде так пишут. Должно работать, наверно. Но мне нужна была не совсем свежая апи (иначе отлетала другая либа на которую разраб забил, а без нее труба) и поэтому я пошел тем путем и все стало окай!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Запрос permission
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]