我知道这已经在其他论坛上被问过一百万次了,但我还没有一个完美的答案。这是我的要求:
当活动进入免费环境时,计时器启动,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()
不会调用该方法,即使我已经为第二个活动提供了单一的顶部。
我怎样才能实现这种行为?