我发现下面的问题屏幕覆盖检测时,在Motog3Marshmallow移动点击权限。
我在到处的互联网搜索中找到了许多解决方案,您可以查看以下内容:
>
删除esfile资源管理器
https://www.youtube.com/watch?v=QHidevTDrYI
检测到屏幕覆盖阻止Android权限
https://android.stackexchange.com/questions/148260/screen-overlay-detected-what-is-the-problem
https://forums.androidcentral.com/android-6-0-marshmallow/682802-screen-overlay-detected-what-can-i-do.html
https://www.howtogeek.com/271519/how-to-fix-the-screen-overlay-detected-error-on-android/
https://github.com/MohammadAdib/Roundr/issues/10
等等。更多。
如果我不在下面调用权限,那么没问题。
因此,如果有人想给出最好的解决方案,请分享。
请在重复之前提及它,我想要适当的解决方案。
随时询问我也分享一些代码的任何信息或代码。
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.psm">
<!---->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/MyMaterialTheme">
<activity android:name=".MainActivity"
android:screenOrientation="portrait">
</activity>
<activity android:name=".SplashScreen"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.nippon.registration.Registration"
></activity>
</application>
</manifest>
Mainactivity中的权限代码。Java语言
checkAndRequestPermissions(); //called in oncreate() of activity
private boolean checkAndRequestPermissions() {
try {
int permissionWriteEXTERNALSTORAGE = ContextCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
int PermissionCamera = ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA);
List<String> listPermissionsNeeded = new ArrayList<>();
if (permissionWriteEXTERNALSTORAGE != PackageManager.PERMISSION_GRANTED) {
listPermissionsNeeded.add(android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
if (PermissionCamera != PackageManager.PERMISSION_GRANTED) {
listPermissionsNeeded.add(android.Manifest.permission.CAMERA);
}
if (!listPermissionsNeeded.isEmpty()) {
ActivityCompat.requestPermissions(this, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), 1);
return false;
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
提前感谢,完美的解决方案。
最后,我通过删除下面的代码来解决上面的屏幕覆盖检测问题,我在应用程序中使用这些代码来测试内存使用情况:
final Runtime runtime = Runtime.getRuntime();
final long usedMemInMB=(runtime.totalMemory() - runtime.freeMemory()) / 1048576L;
final long maxHeapSizeInMB=runtime.maxMemory() / 1048576L;
final long availHeapSizeInMB = maxHeapSizeInMB - usedMemInMB;
Toast.makeText(getApplicationContext(),String.valueOf(usedMemInMB+" "+ maxHeapSizeInMB+" "+ availHeapSizeInMB), Toast.LENGTH_LONG).show();
感谢大家的支持!
运行我的android应用程序时出现以下错误: 检测到屏幕覆盖: 要更改此权限设置,您首先必须从设置中关闭屏幕覆盖 我的应用程序没有列在显示的列表中。 如何解决这个错误?
我注意到我的新手机上的Android应用程序有一个奇怪的问题。SDK 23权限弹出窗口(如外部存储)被下面的附加警报阻止。我最初以为这与我的手机有关,但它似乎不影响我安装的任何其他应用程序。 这个问题可能与安装了调试版本有关,还是我的权限处理有问题?我以为它可能与我正在使用的广告平台之一有关,但我尝试禁用它们,它仍然出现 我已经粘贴了下面生成此权限请求的图像保存功能。我正在使用Dexter来节省编
我创建了一个应用程序,它在后台连续运行,并显示浮动覆盖文本视图(通过使用权限android.permission.SYSTEM_ALERT_WINDOW)。 我在联想Android设备中遇到问题,当其他应用程序尝试请求用户权限时,会出现一个警报对话框,显示“检测到屏幕覆盖”。虽然我在Redmi 3S Prime设备上测试了同一应用程序,但权限对话框中的“允许”按钮是不可单击的,直到我关闭了应用程序
在我的应用程序中,我请求获得在Android SDK 23中访问SMS的权限(运行时权限),但问题是出现了对话框屏幕覆盖,并且未授予访问权限。我禁用了所有其他应用程序覆盖,但没有任何更改。我找到了这个链接,但没有帮助 问题是我如何通过编程修复它?
我的问题类似于Android的“屏幕覆盖检测”消息,如果用户试图在显示通知时授予权限 但下面列出的解决方案都不适用于我,我禁用了所有其他访问overlay的应用程序,但仍然没有对相同错误的积极响应。 我该怎么做才能解决这个问题。 这是我的开发应用程序错误还是android系统误差?或任何其他?
如果用户在显示通知时试图授予权限,我已经阅读了Android“Screen Overlay Detected”(屏幕覆盖检测)消息,我可以用这句话作为开场白,我完全理解覆盖问题是什么。 我还了解如何请求它,以及如何检查我当前正在运行的应用程序是否有权绘制覆盖(! Settings.canDrawOverlays(this))。 我因为我的应用程序而被责骂,因为每次权限请求弹出时,就会显示覆盖弹出窗