android通知点击打开应用程序只在第一次工作

41ik7eoe  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(398)

我有一个前台服务和一个通知。我这样创建通知:

Notification notification = new NotificationCompat.Builder(this, CHANNEL_ID)
            .setOngoing(true)
            .setContentTitle("App name")
            .setContentText(Utility.getNotificationContentText())
            .setSmallIcon(R.mipmap.ic_launcher_round)
            .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
            .setContentIntent(pendingIntent)
            .setOnlyAlertOnce(true)
            .build();

在通知中,我设置了一个挂起的意图,如下所示:

Intent notificationIntent = new Intent(this, MainActivity.class);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

当我第一次单击通知时,它按预期工作。它会打开应用程序。但是,当我第二次单击通知时,什么也没有发生。
值得一提的是,我打开了mainactivity.class,但是我的应用程序有不同的片段。我想打开一个特定的片段,但我不确定是否可以将fragmentname.class传递到intent中。
有什么帮助让通知每次点击都能工作吗?

mf98qq94

mf98qq941#

设置下面的 PendingIntet 因此,如果当前有一个挂起的意图,您可以使用新的 PendingIntent .

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 
              PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT);
1hdlvixo

1hdlvixo2#

我设法修好了。问题是我更新通知的目的是错误的类。

相关问题