首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在应用程序未运行时通过通知点击触发弹出窗口

如何在应用程序未运行时通过通知点击触发弹出窗口
EN

Stack Overflow用户
提问于 2021-05-08 06:52:16
回答 1查看 26关注 0票数 0

我正在尝试在我的应用程序中实现一个计时器。计时器在前台服务中运行,并按预期工作。

单击通知后,应a)打开计时器活动(这是主要活动),b)打开一个一次性弹出窗口,询问您是否要停止它。(不是弹出式窗口的全部范围,但我在本例中已将其简化)。

由于一些挑战/限制,我在使用此功能时遇到了困难。我的两个主要方法是通过挂起的意图使用RxJava和广播接收器。

如果应用程序是打开的并且在前台,我可以通过广播意图使用一个可观察对象,并监听它的计时器活动。当它接收到一个值时,它会显示弹出窗口。很简单。

如果应用程序已关闭或在后台,我尝试使用带有键值额外值的挂起意图,例如(“show show-pop”,true)。然后我检查onStart方法,如果这个额外的东西存在,如果是真的,就显示弹出窗口。然而,现在每次我打开应用程序时,它都会显示弹出窗口。如果应用程序在后台运行,然后返回到前台,活动仍然会保留额外的内容,并触发弹出窗口。

所以底线是:如果用户按下通知,我如何打开我的应用程序并显示弹出窗口?即使应用程序已关闭或处于后台

EN

回答 1

Stack Overflow用户

发布于 2021-05-10 01:59:15

要做到这一点,最好的方法是使用单独的Activity,而不是主Activity。在创建要放入NotificationIntent时,请添加以下标志:

代码语言:javascript
运行
复制
Intent.FLAG_ACTIVITY_NO_HISTORY
Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

这将确保带有“附加组件”的Intent不会成为“从主屏幕启动应用程序时使用的默认Intent”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67442520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档