在Api 30中,ACTION_MANAGE_OVERLAY_PERMISSION未重定向到应用程序页面

6
为了请求用户授予“允许在其他应用程序上显示”的权限,可以发送一个带有Settings.ACTION_MANAGE_OVERLAY_PERMISSION操作的Intent。对于 Android R 版本之前(API版本<30),它会直接进入应用程序设置页面中的此特定设置,但是对于 API 30,它会进入“其他应用程序上的显示”权限页面,这对用户体验非常不好。
我了解到这是预期的行为,但是否有解决方法?对于我的截屏应用程序,需要显示捕获叠加按钮,有哪些替代方案可用?

对于我的截图应用程序,需要显示捕获叠加按钮,有哪些替代方案?在Android 11+上,您可以切换到气泡通知。 - CommonsWare
我阅读了一些相关文档(并没有深入研究),它似乎非常偏爱用于转换。如果您有使用其API的经验,您是否真正推荐将其用于我的用例? - Alireza Farahani
1
我确信谷歌打算将其用于聊天。我相信开发人员会将其用于其他事情。我使用它来能够在演示一个应用程序时切换幻灯片集。反过来,叠加已经受到限制(例如,Android One),我完全期望它们在未来的某个Android版本中被完全阻止。我的期望是,如果开发人员想要这种叠加式触发机制,他们将被引导使用气泡。 - CommonsWare
似乎还有很多尝试和错误的过程!感谢您的信息,如果您有时间写一个答案,我会接受它。 - Alireza Farahani
1个回答

2
我读到这是一种有意的行为,但是否有解决方法?
我不知道有任何解决方法。
还有其他替代方案吗?
您可以在Android 11+上使用bubbles
从长远来看,我预计叠加层将被作为一个选项而被删除。它们已经在某些环境中受到限制(例如Android One),并且一直在努力消除这些东西(例如自定义toast)。除非Google想出其他的东西,否则我的猜测是使用叠加层作为触发机制的应用程序-听起来像是您的情况-最终会迁移到气泡或简单的持久通知。
请注意,气泡除了气泡本身之外还有一些UI-点击气泡会在弹出窗口中显示一个活动。这可能适合您的用例,也可能不适合。
此外,this sample module演示了如何显示气泡。

我的当前方法是隐藏按钮,捕获屏幕截图,然后再显示它。似乎气泡并不非常适合这个。粘性通知稍微好一些,但仍然不太方便。我正在考虑其他方法,比如摇晃设备,这听起来有点傻 :D - Alireza Farahani
1
气泡仅用于聊天。如果您滥用API,可能会被拒绝。 - Cal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接