Установка приложения на 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, которые позволяют разработчику избавиться от неприятностей.

Другие вопросы по тегам