我已经尝试了所有的启动模式,但它似乎不起作用:
假设 App A 有各种活动,J & K。J 是第一个(选择应用程序模式),它在主要事情发生的地方调用 K(调用它之后,J finish()es)。如果我单击 K 中的“主页”按钮,然后再次打开应用程序,它会打开一个带有活动 J 的 A 的新实例。
我希望它改为打开暂停的 K 活动。其他线程提到了一个 Android 错误——有没有办法修复它?设置启动模式不起作用:S
非常感谢。
我已经尝试了所有的启动模式,但它似乎不起作用:
假设 App A 有各种活动,J & K。J 是第一个(选择应用程序模式),它在主要事情发生的地方调用 K(调用它之后,J finish()es)。如果我单击 K 中的“主页”按钮,然后再次打开应用程序,它会打开一个带有活动 J 的 A 的新实例。
我希望它改为打开暂停的 K 活动。其他线程提到了一个 Android 错误——有没有办法修复它?设置启动模式不起作用:S
非常感谢。
试试这个
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
// Activity was brought to front and not created,
// Thus finishing this will get us to the last viewed activity
finish();
return;
}
// Regular activity creation code...
}
你想要的是正常的 Android 行为。它不起作用的事实意味着您可能正在做一些奇怪的事情。不要试图通过使用 launchModes 来解决这个问题。请张贴清单的相关部分。但是,有一个像这样表现出来的错误。要查看此错误是否导致您的问题,请执行以下操作:强制关闭手机上的应用程序。现在从手机上的应用程序列表启动您的应用程序。从 ActivityJ 转到 ActivityK。按主页。再次打开应用程序。如果它现在可以工作,那么您只是看到了可怕的 Android 启动错误。
有关启动错误的更多详细信息,请参阅以下问题:
http://code.google.com/p/android/issues/detail?id=2373
http://code.google.com/p/android/issues/detail?id=26658
该错误存在于所有设备上,在所有版本的 Android 上(至少到 ICS,尚未在 JellyBean 上测试)。这一切都在模拟器中正常工作,因此您不能将模拟器行为用作真实设备行为的指示。