gpt4 book ai didi

Android:如何从 BroadcastReceiver 恢复应用程序/Activity ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:30 25 4
gpt4 key购买 nike

如果我的程序如下:

  1. 启动 Activity A -> Activity B
  2. 按“主页”按钮。
  3. 再次点击该应用程序。

结果:“Activity B”出现(它恢复)。

  1. 启动 Activity A -> Activity B
  2. 按“后退”按钮。
  3. 再次点击该应用程序。

结果:出现“Activity A”(它重新启动)。

我想从 BroadcastReceiver 做完全相同的事情。

  1. 启动 Activity A -> Activity B
  2. 按“主页”按钮。
  3. BroadcastReceiver 收到一个广播并想“恢复”应用程序。

我的预期结果:“Activity B”出现。

我想从 BroadcastReceiver 做完全相同的事情。

  1. 启动 Activity A -> Activity B
  2. 按“后退”按钮。
  3. BroadcastReceiver 接收到广播并想要“重启”应用程序。

当前结果:“Activity A”出现。

以下代码不符合我的预期:

public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, ActivityA.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}

我也试过“Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY”但没有成功。

最佳答案

我的天哪,我成功了!!

感谢你们提供的其他答案,但它们不是我要找的。

这将完成工作:

Intent i = getPackageManager().getLaunchIntentForPackage("com.your.package.name");
i.setFlags(0);
i.setPackage(null);
startActivity(i);

关于Android:如何从 BroadcastReceiver 恢复应用程序/Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9881976/

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