Android onNewIntent没有被调用-仅每秒调用一次?

Android onNewIntent没有被调用-仅每秒调用一次?,android,Android,我有一个我正在设置的通知 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); mBui

我有一个我正在设置的通知

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在声明中特别声明

这是为在中将launchMode设置为“singleTop”的活动调用的 他们的包,或者如果客户端使用了标志\u活动\u单个\u顶部标志 调用startActivity(意图)时。无论哪种情况,当活动 在活动堆栈顶部重新启动,而不是新的 将调用正在启动的活动的实例onNewIntent() 在现有实例上,具有用于重新启动的意图 它

由于未使用SINGLE_TOP标志,因此行为可能不一致

在任何情况下,onNewIntent的目的都是为已经运行的活动发送新的意图。因此,如果您的活动未运行,并且您单击通知以启动它,您将不会收到对onNewIntent的调用。但是,您将接到一个电话onCreate,然后onResume。第二次单击通知时,活动必须正在运行,因此,您将获得onNewIntent,而不是再次获得onCreate

要测试这一点,请将日志添加到onCreate和onneWinEvent中