gpt4 book ai didi

android - list 的权限在 Android 6 中不起作用

转载 作者:IT老高 更新时间:2023-10-28 13:16:01 25 4
gpt4 key购买 nike

它完全忽略:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

所以我得到了异常(exception):

Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@86fb55b -- permission denied for this window type

它甚至没有列出:

enter image description here

我应该如何解决它?谢谢。

编辑:

它在配置应用程序/高级/绘制其他应用程序中列出。所以我打开它,现在它工作正常,但是为什么在我运行我的应用程序时没有任何对话框询问权限?所有权限都被默认关闭了,我需要去设置并手动打开它吗?

最佳答案

感谢 CommonsWare's blog post ,我得到了一些线索。

假设您的代码在 ActivityFragment 中,请检查覆盖权限并在必要时发出请求:

public static int OVERLAY_PERMISSION_REQ_CODE = 1234;

public void someMethod() {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
}
}

然后,重新检查权限以获得更好的用户体验:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
if (!Settings.canDrawOverlays(this)) {
// SYSTEM_ALERT_WINDOW permission not granted...
}
}
}

关于android - list 的权限在 Android 6 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32061934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com