0

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

当活动进入免费环境时,计时器启动,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()不会调用该方法,即使我已经为第二个活动提供了单一的顶部。

我怎样才能实现这种行为?

4

1 回答 1

0

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

于 2012-07-11T14:39:25.293 回答