我之前提出过这个问题,但是有人认为我没有足够的解释并低估了答案,即使在我添加了解释之后他确实得到了答案,也没有回到upvote。现在没有人有兴趣为我提供该线程的解决方案。所以我再次在这里问。
我有一个应用程序,用户可以设置闹钟,并希望应用程序弹出一个屏幕(无论该应用程序当前是活动的还是在后台或被杀死),它显示带有OK按钮的消息。像这样:
场景1:快乐流程
应用程序已打开并正在运行
场景2:有问题的流程
申请背景
结束循环并返回应用程序主页的唯一方法是从最近杀死应用程序并重新启动应用程序或者只需通过单击图标重新启动应用程序,而不是从最近恢复它
我尝试过:
警报屏幕上的“确定”按钮调用finish(),因此我希望在单击“确定”时销毁活动。警报通知活动也标记为noHistory =" true"在清单中,Intent上有标志FLAG_ACTIVITY_CLEAR_TOP,以确保它被清除而不被保存。
以编程方式单击“确定”启动我的家庭活动是有效的解决方案之一,但除非没有解决方法,否则我不想走这条路。我肯定有。
无处不在,我看到这些是唯一两个提议的解决方案,让活动从后台删除,永远不会再出现。但这些似乎不适合我。我确信我缺少了一些基本的东西,但我不能为我的生活思考或发现它是什么。
答案 0 :(得分:0)
我假设你使用了android alarm setRepeating()
。当用户点击OK按钮时,你需要取消闹钟。
PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.cancel(sender);