某些 MIUI 版本上的“显示在其他应用程序之上”权限问题

问题描述 投票:0回答:1

我是Android开发者。现在我测试我的“反垃圾邮件来电”应用程序。 如果应用程序检测到有来自垃圾邮件发送者的来电,它会显示警告警报窗口。

要显示此窗口应用程序需要“在其他应用程序上显示”权限。 应用程序在打开时请求许可(如果未授予许可)。

应用程序定期在 Firebase 中发送有关权限状态的分析。

在 firebase 分析中,我发现在具有特定 Android 和 MIUI 版本的特定小米设备上,存在“显示在其他应用程序之上”权限状态的奇怪行为。要获取“显示在其他应用程序之上”权限状态,请使用 Settings.candDrawOverlays() 方法。

“在其他应用程序上显示”每天都会自动禁用和启用,而无需与用户交互(我想)。 对于不同的用户,但对于相同的设备型号和操作系统版本,会发生这种情况。

设备:Redmi Note 8T(MIUI:V12.5.1.0.RCXRUXM)、Mi 9 Lite(MIUI:V12.5.2.0.RFCMIXM)、Redmi Note 8(MIUI:V12.5.2.0.RCOMIXM)、Redmi Note 8 Pro(MIUI:V12.5.3.0.RGGRUXM)、小米 9 SE(MIUI:V12.5.1.0.RFBMIXM)、小米 9T Pro(MIUI:V12.5.2.0.RFKMIXM) 安卓版本:11

问题是:

  • 用户的哪些行为会导致“显示在其他应用程序之上”权限的状态自动更改?
  • 看来是MIUI OS有问题。你能告诉我如何联系MIUI的开发者提问吗?
permissions overlay miui system-alert-window
1个回答
0
投票

问题在于授予未知应用程序的默认权限,例如 Facebook、Chrome 等。您需要确保您的代码有一种在后台运行的方式(使用情况统计、可访问性、前台服务等),然后确保手动允许显示弹出窗口。没有任何编程方式可以要求用户启用并将它们发送到“设置”。 如果您重新安装/重新构建应用程序,则可以禁用此类权限。每次我需要测试时,我都需要手动启用这些权限,否则后台服务上的任何运行都将无法工作。如果您的应用程序与互联网或其他设备有任何类型的连接,您还需要设置这些权限,我猜另一端的用户也需要启用权限。非常非常累。

© www.soinside.com 2019 - 2024. All rights reserved.