Android 6 上的应用程序安装会绕过惯用的 'Permissions' 屏幕

App installation on Android 6 bypasses the customary 'Permissions' screen

想做一个应用程序吗? - 很简单!

想让它适用于不同的版本? - 学习火箭科学。

已经看到以下答案和更多,但 none 帮助:

所以,这是我的 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) 上安装应用程序时,安装程​​序说(非常类似于)- "it requires no special access (or permissions)"。该应用程序也未能超越初始屏幕,而在其他 Android 版本上,航行顺利且完整。

上面列出的答案解释了为什么,(更改权限模型等),从中我无法弄清楚真正要做什么。

我的要求是:

非常感谢!

欢迎来到棉花糖。 Android M(6.0) 引入了 runtime permission model. You are suppose to handle requesting for permissions in runtime. You could refer to my github sample on how to do it. There are a few other libraries like easypermissions 让开发者摆脱麻烦。