我正在尝试像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);
即使那不可能,我怎样才能知道执行了哪个操作。
最佳答案
关于java - 根据通知操作点击打开不同的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42871838/