gpt4 book ai didi

android - 具有相同 Intent 的推送通知打开 Activity

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:01 25 4
gpt4 key购买 nike

我收到带有数据( Intent )的推送通知。如果我收到两个或多个具有不同 ID 的通知,但打开一个 Activity 并且 ID 相同。例如,我收到三个不同 id=1、2、3 的通知。但是当 Activity 启动时使用一个 id = 3。当我单击第一个或第二个 ID 为 1 和 2 的通知时,打开 ID 为 3 的 Activity。你能帮助理解我在代码中的错误吗?

NOTIFICATION_ID ++;
mNotificationManager = (NotificationManager)
this.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(msg.getString("title"))
.setContentText(msg.getString("message"))
.setDefaults(Notification.DEFAULT_SOUND)
.setStyle(new NotificationCompat.BigPictureStyle().bigPicture(Picasso.with(getApplicationContext()).load(msg.getString("icon")).get()).setSummaryText(msg.getString("message")))
.setAutoCancel(true);

Log.e("msg---",msg.toString());
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName(this, ActivityDetail.class));
// intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.putExtra(Keys._PostId,msg.getString("id"));
intent.putExtra(Keys._Image, msg.getString("icon"));
intent.putExtra(Keys._PostType, msg.getString("post_type"));
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);

mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());

最佳答案

像这样创建你的 PendingIntent 并做一个技巧

PendingIntent contentIntent = PendingIntent.getActivity(this, (int) (Math.random() * 100), intent, PendingIntent.FLAG_UPDATE_CURRENT);

关于android - 具有相同 Intent 的推送通知打开 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24729925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com