我知道其他论坛已经被问了一百万次,但我还没有得到完美答案。这是我的要求:
当活动进入bacground时,计时器启动,10秒后会显示通知。如果用户在10秒后没有点击通知,则通知会更改。 当用户点击第一个通知时,会出现最后一个查看的屏幕 - 即活动到达前台。这是通过以下方式实现的:
Intent notificationIntent = new Intent(TimedAlert.this, FirstActivity.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
但我希望计时器在活动到达前台后立即停止。我在onResume ()
中timer.cancel()
,但这似乎不起作用。我也尝试了onNewIntent()
,但只有当我在第一个活动时,当应用程序从第二个活动转到后台时,它才有效。在进入前台时,即使我为第二个活动提供了单个顶部,也不会调用onNewIntent()
方法。
我该如何实现这种行为?
答案 0 :(得分:0)
当用户点击Notification
时,系统会调用您的notificationIntent
,在您的情况下,系统会启动FirstActivity
,然后在FirstActivity
您可以停止倒计时。