2012-07-11 56 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