gpt4 book ai didi

java - android 打开应用程序时所有通知消失

转载 作者:行者123 更新时间:2023-12-02 10:04:22 25 4
gpt4 key购买 nike

我正在使用 FCM 获取新通知,我可以毫无问题地显示该通知,但当我打开应用程序时,所有通知都消失了

这是我用于创建新通知的代码

 final NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
mContext,mContext.getString(R.string.default_notification_channel_id));

Notification notification;
notification = mBuilder.setSmallIcon(icon).setTicker(title).setWhen(0)
.setAutoCancel(true)
.setContentTitle(title)
.setContentIntent(resultPendingIntent)
.setStyle(inboxStyle)
.setWhen(getTimeMilliSec(timeStamp))
.setSmallIcon(R.drawable.notification_icon)
.setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), icon))
.setContentText(message)
.build();

NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {



CharSequence name = "my_channel";
String Description = "This is my channel";
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel mChannel = new NotificationChannel(mContext.getString(R.string.default_notification_channel_id), name, importance);
mChannel.setDescription(Description);
mChannel.enableLights(true);
mChannel.setLightColor(Color.RED);
mChannel.enableVibration(true);
mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
mChannel.setShowBadge(false);
notificationManager.createNotificationChannel(mChannel);
}


int id = (int) System.currentTimeMillis();
notificationManager.notify(id, notification);

当单击通知时,它会打开一个包含额外数据的 Activity 我的 Intent

 Intent resultIntent = new Intent(getApplicationContext(), MainActivity.class); 
resultIntent.putExtra("message", "wwwwwwww");
resultIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);


resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);



PendingIntent resultPendingIntent =
PendingIntent.getActivity(
mContext,
0,
intent,
PendingIntent.FLAG_UPDATE_CURRENT
);

现在,当我单击任何通知时,它会打开 MainActivity,并提供主要 Activity 所依赖的一些额外值。

但是当我单击通知并启动 Activity 时,所有其他通知都消失了。那么,我如何才能防止这种情况并仅隐藏单击的通知,以便用户可以看到其他通知

最佳答案

不太确定它是否有效,但您可以尝试将请求代码设置为唯一而不是 0。

PendingIntent resultPendingIntent = PendingIntent.getActivity(mContext,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);

将 0 替换为以下内容

PendingIntent resultPendingIntent = PendingIntent.getActivity(mContext,(int) System.currentTimeMillis(),intent,PendingIntent.FLAG_UPDATE_CURRENT);

关于java - android 打开应用程序时所有通知消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55410445/

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