Установка приложения на Android 6 обходит привычный экран "Разрешения"
Хотите сделать приложение? - Это просто!
Хотите заставить его работать на разных версиях? - Изучай ракетостроение.
Видели следующие ответы и многое другое, но ни один не помог:
Итак, вот мой AndroidManifest
кусок:
:
:
:
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PROFILE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
:
:
и соответствующий кусок от build.gradle
:
:
:
android{
compileSdkVersion 23
buildToolsVersion "23.0.2"
:
:
Когда я впервые установил приложение на Marshmallow (6.0.1), установщик сказал (что-то очень похожее) - "оно не требует специального доступа (или разрешений)". Приложению не удалось выйти за рамки заставки, в то время как в других версиях Android плавание плавное и завершенное.
Ответы, перечисленные выше, объясняют, почему(изменение модели разрешений и т. Д.), Из чего я не могу понять, что на самом деле делать.
Мои запросы:
- Пожалуйста, дайте мне знать, как сделать так, чтобы приложение устанавливалось точно так же, как оно устанавливается на версиях ниже 6.0.
- Как сохранить изменения кода (при необходимости) до минимума
- Как не усложнять существующий автоматический запрос разрешений во время установки (с разрешениями во время выполнения и все такое).
Спасибо заранее!
1 ответ
Добро пожаловать в Зефир. В Android M(6.0) появилась модель разрешений во время выполнения. Вы должны обрабатывать запросы на разрешения во время выполнения. Вы можете обратиться к моему примеру с github, чтобы узнать, как это сделать. Есть несколько других библиотек, таких как easypermissions, которые позволяют разработчику избавиться от неприятностей.