2

如果在我的 Android 应用程序中我这样做:

Intent intent2 = new Intent();
          intent2.setAction(Intent.ACTION_MAIN);
          intent2.addCategory(Intent.CATEGORY_LAUNCHER);
          intent2.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
          intent2.setClassName("com.andrew.apollo", "com.andrew.apollo.activities.MusicLibrary"); 

          getApplicationContext().startActivity(intent2);

然后Android实际上运行新应用程序,但我想将我的旧应用程序保留在队列中,所以如果我点击“返回”按钮,我会转到旧应用程序,或者当我点击时旧应用程序仍在队列中“主页”按钮。

有什么想法吗?谢谢。

编辑:实际上,这是一个我不记得我在代码中写过的finish()。我删除了它,现在它按预期工作。谢谢大家。

4

2 回答 2

2

相同的代码对我来说效果很好。你必须调用finish(); 启动意图后。

于 2013-02-07T10:25:04.737 回答
1

默认情况下,如果您从当前 Activity 启动新的应用程序或 Activity 并且不为当前 Activity 调用finish()方法,它将一直保留在堆栈中,直到 Android OS 拼命耗尽内存。

它可能发生在内存不足的设备中被破坏(在你的情况下我猜),否则它会进入“停止”状态,当你点击“返回”按钮时,它会自动重启

于 2013-02-07T10:24:28.120 回答