2017-08-30 87 views
1

我正在嘗試獲取直接回復中鍵入的文本。我可以獲取文本,但當點擊發送文本按鈕時,它會打開意圖顯示的活動。直接回復通知開始活動

val resultIntent = Intent(this, MessagesActivity::class.java) 
val stackBuilder = TaskStackBuilder.create(this) 

stackBuilder.addNextIntent(resultIntent) 

val resultPendingIntent = PendingIntent.getActivity(
     this, 
     0, 
     resultIntent, 
     PendingIntent.FLAG_UPDATE_CURRENT 
) 

而這裏的通知生成器

val mBuilder = Notification.Builder(this, id) 
    .setContentTitle(data["title"]) 
    .setContentText(data["body"]) 
    .setLargeIcon(image) 
    .addAction(action) 
    .setSmallIcon(R.drawable.logo) 
    .setAutoCancel(true) 

我不希望它打開相應的活動。此外,我試圖使用意向服務,它不起作用。

回答

0

您正在使用PendingIntent.getActivity這意味着您想要處理活動中的操作結果。在繼續之前,這項活動需要開始是合乎邏輯的。 從getActivity文檔:

檢索的PendingIntent,將開始一個新的活動,比如調用 Context.startActivity(意圖)。請注意,活動將在現有活動的上下文之外開始 ,因此您必須在Intent中使用 Intent.FLAG_ACTIVITY_NEW_TASK啓動標誌。

您需要使用PendingIntent.getBroadcast

欲瞭解更多信息,請查看here