onNewIntent()方法被多次调用

问题描述 投票:0回答:1

我有以下要求。 我想创建通知。 点击通知应用程序应打开并根据从 Intent Extras 收到的数据导航到特定片段。 无论应用程序处于终止状态还是在前台,我都需要处理这个问题。

我在清单中设置了 singleTop 启动模式。

应用程序被杀死状态场景:

如果应用程序处于终止状态,它会正常工作,它会调用 onCreate() 方法,并且其中也有屏幕处理逻辑。 但此后 onNewIntent() 会被多次调用

APP前台场景:

如果应用程序处于前台状态,则调用 onNewIntent() 但没有意图额外数据。

请找到以下代码。

要创建通知,

                notificationIntent.flags = (Intent.FLAG_ACTIVITY_CLEAR_TOP
                        or Intent.FLAG_ACTIVITY_SINGLE_TOP)
                notificationIntent.putExtra(Constants.MEDICATION_EXTRA, titleText)
                contentIntent = PendingIntent.getActivity(
                    context, 0,
                    notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
                )
    
               val id = notificationHelper.postNotification(
                notificationHelper.createNotification(
                    contentText = contentText,
                    contentIntent = contentIntent,
                    autoCancel = true,
                    title = titleText,
                )
            )
android kotlin android-activity push-notification onnewintent
1个回答
0
投票

问题的原因是我直接使用之前没有设置intent。

我通过 Acitivity 的 getter 方法使用意图

getIntent()
。 如果我通过 getter 方法使用意图,我必须设置在
onNewIntent(intent:Intent)
方法中接收到的意图。

© www.soinside.com 2019 - 2024. All rights reserved.