【发布时间】:2018-10-13 19:16:17
【问题描述】:
我在 Android 8.0 上遇到屏幕覆盖问题。下面提到的是我的 manifest.xml 文件中提到的权限 -
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
单击按钮时(按钮位于片段内),我正在检查是否授予WRITE_EXTERNAL_STORAGE 权限。如果没有得到批准,我正在做以下事情 -
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 5);
& in onRequestPermissionsResult 回调 if PackageManager.PERMISSION_GRANTED & requestCode == 5 我正在调用我的逻辑部分。
但是,如果我按下权限弹出窗口的 允许 或 拒绝 按钮,我会在整个设备屏幕上获得半透明覆盖 & 除非我没有从后台杀死应用程序,否则它不会被删除。此外,设备后退按钮在这种情况下不起作用。
每次我调用WRITE_EXTERNAL_STORAGE 权限对话框并采取其中一项操作时都会发生这种情况。
如果已授予权限,则应用程序运行正常,没有任何覆盖问题。
我的minSdkVersion = 19 和targetSdkVersion = 27。
此外,我的代码中没有 Toast 消息。
我已经在 Android 7.0 中测试了该应用,并且运行良好。我在 Nexus 6P / Google Pixel 设备等 Android 8.0 设备上遇到了这个问题。
任何帮助将不胜感激。
提前致谢。
【问题讨论】:
-
这也可能是因为其他应用程序。检查使用覆盖权限(如whatsapp)运行的应用程序,关闭它们。
-
@Dhananjay,我已经对此进行了测试,它对我的问题没有影响。感谢您的意见。
标签: android overlay android-permissions user-permissions android-8.0-oreo