我有一个应用程序,我在其中使用 launchMode="singleTask" 保存所有活动。我更喜欢做标志汤(混合组合以获得所需的效果),并基于接收 onNewIntent 调用。
但是我有以下问题。
如果我启动应用程序,则启动 R 活动(有启动器,名册活动)。
然后我启动活动 S。
(1)如果我按下主页按钮并将应用程序置于后台,然后按下历史按钮(Nexus 4 上最右边的按钮,我认为它是这样调用的)我将在我按下主页按钮后离开的状态相同。
(2) 但是,如果我按下主页按钮并将应用程序置于后台,然后单击通知启动我的应用程序,则启动 R 活动并为其调用 onNewIntent。
基本上我也希望在第二种情况下也有同样的行为。单击通知时,我正在启动这样的应用程序:
Intent rosterIntent = new Intent(this, RosterActivity.class);
rosterIntent.addCategory(Intent.CATEGORY_DEFAULT);
rosterIntent.setAction(Intent.ACTION_MAIN);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 2,
rosterIntent, 0);
看起来这足以以我离开它的相同状态重新启动应用程序,但它不起作用。也许这与我所有的活动都是单任务有关...
有人可以告诉我,如果我需要在我的意图中添加更多标志,或者在未决的意图中获得我想要的东西吗?
问候,
注意:似乎在应用程序处于后台后单击启动器图标具有与 (2) 相同的行为,因此只需从历史记录 (1) 中选择就是我想要的行为。