2012-07-11 59 views
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); 

但我希望计时器在活动进入前台后立即停止。 I.e在onResume()我给timer.cancel(),但这似乎不起作用。我也试过onNewIntent(),但它只在第一次活动时才起作用,当应用程序从第二次活动转到后台时。在即将到来的前景中,onNewIntent()方法不会被调用,即使我已经为第二个活动提供了单个顶端。

我该如何实现这种行为?

+0

请有人帮助我...我是一个完整的新bie .. – user1420943 2012-07-11 11:44:52

回答

0

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

+0

Thanx for d response ..但是我面临2个问题: - 首先----当通知被点击时,它会转到第一个onResume活动..我无法取消onResume()方法中的计时器其次----它不需要始终进入第一个活动,进入堆栈顶部的活动,即从用户切换到另一个活动的屏幕应用程序....希望我很清楚...请帮助 – user1420943 2012-07-12 05:25:11

+0

Witing for ur response ..... please help – user1420943 2012-07-12 12:33:07