2016-08-05 35 views
0

我對通知使用以下意圖,問題是如果當前活動與意圖相同,則什麼都不會發生。如何使用新數據打開同一活動?如何使用Android上的通知點擊意圖中的新數據重新啓動當前活動

intent = new Intent(context, PackViewActivity.class); 
           intent.putExtra("pid", pack_id); 
           intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 

下面是詳細信息fromt他Manaifest:

<activity 
     android:name=".PackViewActivity" 
     android:configChanges="orientation|keyboardHidden|screenLayout|screenSize" 
     android:launchMode="singleTask"/> //I've also tried singleInstance with no success. 

目前一切正常,除非當前的活動是PackViewActivity。在那種情況下沒有任何反應

+0

試試這個'Intent.FLAG_ACTIVITY_CLEAR_TOP'而不是'CLEAR_TASK' –

+0

請參閱下面的帖子,看看這是否可以幫助你:http://stackoverflow.com/questions/1397361/how-do-i-restart-an-android - 活動 – EJoshuaS

+0

@VivekMishra這並沒有什麼區別:(謝謝你 – jampez77

回答

1

像@Vivek提到的那樣,使用Intent.FLAG_ACTIVITY_CLEAR_TOP並刪除Intent.FLAG_ACTIVITY_CLEAR_TASK。現在,如果您的活動已在運行,新的意向將在onNewIntent()中交付。這是你應該把你的意圖閱讀代碼。另外,在你的活動清單描述中擺脫android:launchMode,因爲它帶來了很多問題。

1

如果所需的活動已經在前臺,那麼您無需推送通知。或者,您可以將活動註冊爲通過NotificationManager推送通知的服務或活動類的偵聽器。然後適當地處理通知。

相關問題