我正在尝试从扩展服务的类中打开一个活动。当应用程序不在前台/未使用时,我正在执行此任务。我可以在日志中看到我的服务类触发了带有 Intent.FLAG_ACTIVITY_NEW_TASK 标志的启动活动。但是活动打不开。但是当应用程序处于前台/正在使用时服务触发相同的活动时,活动会打开。
经过几次搜索,我发现我需要在应用程序设置的其他权限部分中手动授予“在后台运行时显示弹出窗口”权限。
显示在其他应用程序权限 SYSTEM_ALERT_WINDOW 上只能访问“显示弹出窗口”。
在上图中,SYSTEM_ALERT_WINDOW 只会授予您对“显示弹出窗口”的访问权限,如果应用程序处于前台/正在使用,则此方法可以正常工作,但如果授予标记为红色的权限,您将可以直接从类中打开任何活动延伸服务。
如何检查或要求用户授予“在后台运行时显示弹出窗口”权限?或者此权限是否受到限制?
我看到像 Whatsapp 这样的应用程序默认选中了这个。