Страницы

Поиск по вопросам

пятница, 31 января 2020 г.

Почему приложение не спрашивает разрешения при установке

#java #android #android_manifest


Андроид приложение  при установке не запрашивает разрешения, указанные в манифесте.
У меня там был сервис для оповещений. И он вообще не работает. В манифесте все прописано
по всем канонам, но когда устанавливаю, пишет 


  для этого приложения не требуются специальные разрешения.


несмотря на то, что там много uses-permission. Как можно сделать так, чтобы спрашивало
при установке?
    


Ответы

Ответ 1



Начиная с версии API 23 (Android 6.0), «dangerous» разрешения нужно запрашивать в рантайме. Проверяем, есть ли нужные разрешения: if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED) { // Разрешение не получено } Запрашиваем разрешения: ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); Обрабатываем результат получения разрешений: @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case MY_PERMISSIONS_REQUEST_READ_CONTACTS: { // При отмене предоставления разрешений, этот массив пуст if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // Разрешение получено } else { // Пользователь отказался предоставлять разрешение } return; } // Обрабатываем другие разрешения } }

Комментариев нет:

Отправить комментарий