我正在嘗試通知回覆,比如whatsapp。根據通知操作點擊打開不同的活動
這裏是我的代碼
public void sendNotification(String msg, Intent i, ContactModel contact)
{
i.putExtra("message", msg);
i.putExtra("contact", new Gson().toJson(contact));
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
mNotificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
String replyLabel = "Reply";
RemoteInput remoteInput = new RemoteInput.Builder("KEY_REPLY")
.setLabel(replyLabel)
.build();
PendingIntent contentIntent = PendingIntent.getActivity(context, 100, i,
PendingIntent.FLAG_UPDATE_CURRENT);
Bundle bundle = new Bundle();
bundle.putBoolean("reply", true);
NotificationCompat.Action replyAction = new NotificationCompat.Action.Builder(
R.drawable.ic_phone, replyLabel, contentIntent)
.addRemoteInput(remoteInput)
.addExtras(bundle)
.setAllowGeneratedReplies(true)
.build();
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher))
.setContentTitle(contact.getName())
.setDefaults(Notification.DEFAULT_SOUND)
.setStyle(new NotificationCompat.BigTextStyle()
.bigText("Content Hidden"))
.setContentText(msg)
.addAction(replyAction)
;
mBuilder.setContentIntent(contentIntent);
mNotificationManager.cancel(Constants.PUSH_ID);
mNotificationManager.notify(Constants.PUSH_ID, mBuilder.build());
}
現在我的通知顯示「消息」和「回覆」按鈕。
我面臨的問題是,我無法區分用戶選擇回覆按鈕還是嘗試打開通知。
我的主要意圖是
Intent myIntent = new Intent(this, NotificationActivity.class);
我要的是, 當「回覆」用戶點擊按鈕,它會打開
Intent myIntent = new Intent(this, NotificationActivity.class);
當通知本身就是一個用戶點擊它打開
Intent myIntent = new Intent(this, MainActivity.class);
即使這是不可能的,我怎麼能找出哪個動作是每個形成。
凡定義 「消息」 和 「回覆」 按鈕? – Cochi
沒有消息按鈕,只回復和內容消息 –
看看我的文章可以幫助你 – Cochi