单击通知时如何取消倒数计时器?

时间:2012-07-11 06:35:41

标签: android timer notifications

我知道其他论坛已经被问了一百万次,但我还没有得到完美答案。这是我的要求:

当活动进入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()方法。

我该如何实现这种行为?

1 个答案:

答案 0 :(得分:0)

当用户点击Notification时,系统会调用您的notificationIntent,在您的情况下,系统会启动FirstActivity,然后在FirstActivity您可以停止倒计时。