gpt4 book ai didi

android - onNewIntent 没有被调用 - 只是每隔两次?

转载 作者:行者123 更新时间:2023-11-29 01:34:26 29 4
gpt4 key购买 nike

我有一个正在设置的通知

Intent intent = new Intent(ctx, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY);

PendingIntent pi = PendingIntent.getActivity(ctx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(pi);

mNotificationManager.notify(MainActivity.NOTIFICATION_RESULT, mBuilder.build());

当我收到通知时,MainActivity.onNewIntent() 仅出于某种原因每隔两次被调用一次。我在那里有一个调试日志语句,几乎每 2 次,日志就不会触发。

有什么想法吗?

最佳答案

我不确定你的要求是什么,但是onNewIntent明确声明在docs那个

This is called for activities that set launchMode to "singleTop" in their package, or if a client used the FLAG_ACTIVITY_SINGLE_TOP flag when calling startActivity(Intent). In either case, when the activity is re-launched while at the top of the activity stack instead of a new instance of the activity being started, onNewIntent() will be called on the existing instance with the Intent that was used to re-launch it.

由于您没有使用 SINGLE_TOP 标志,因此行为可能不一致。

无论如何,onNewIntent 的目的是为已经运行的 Activity 发送新的 Intent 。因此,如果您的 Activity 未运行并且您单击通知启动它,您将不会收到对 onNewIntent 的调用。但是您会收到对 onCreate 的调用,然后是 onResume。第二次单击通知时, Activity 必须正在运行,因此您不会再次获得 onCreate,而是获得 onNewIntent

要对此进行测试,请将日志添加到 onCreateonNewIntent

关于android - onNewIntent 没有被调用 - 只是每隔两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29322405/

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