清单:Settings.canDrawOverlays(上下文)Android上的奥利奥返回false
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
<uses-permission android:name="android.permission.ACTION_MANAGE_OVERLAY_PERMISSION" />
代码activity.onCreate():
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && BuildConfig.DEBUG) {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
}
}
问题: Settings.canDrawOverlays(本)返回false,即使所以许可已经被授予。在更新Pixel到Oreo之前还没有发生过。
Android版本:8.0.0
我试图更新编译工具:对26.0.1和目标,并compileSdk到26 它有助于上最早推出:切换就可以返回true后,但下一次启动应用程序时,它会再次返回false。
我也遇到过这个问题 - 请让我知道如果你找到解决方案 – Eshaan
请参阅我的解决方案的问题在https://stackoverflow.com/questions/46173460/why-in-android-o-method-设置 - candrawoverlays - 回报 - 假时,用户有/ 48127195#48127195 – headuck