如果我的程序如下:
结果:'活动B'显示(恢复)。
结果:'活动A'显示(重新启动)。
我想从BroadcastReceiver做同样的事情。
我的预期结果:'活动B'出现。
我想从BroadcastReceiver做同样的事情。
当前结果:'活动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”,但没有运气。
答案 0 :(得分:4)
我的天哪,我让它工作了!!
感谢你们提供的其他答案,但他们并不是我想要的。
这将完成这项工作:
Intent i = getPackageManager().getLaunchIntentForPackage("com.your.package.name");
i.setFlags(0);
i.setPackage(null);
startActivity(i);
答案 1 :(得分:4)
看看这个
为您的意图Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
和
Intent.FLAG_ACTIVITY_NEW_TASK
如下
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT|Intent.FLAG_ACTIVITY_NEW_TASK);