如何防止自定义家庭启动器应用重启活动?

时间:2010-12-28 19:46:12

标签: android android-launcher android-homebutton

我正在自己的家用发射器更换,它工作正常,但有一件事困扰我。当我按下主页键时,当前主页活动(清单中定义为main / defualt / launcher / home)将重新启动 - 执行暂停当前活动实例并再次触发oncreate,因此会启动新活动。

另一方面,ADW启动器和LauncherPRo的表现不一样 - 我不像我的情况那样刷新。 Launcher Pro甚至可以做几个动作:

  1. 如果您在主屏幕上显示应用程序图标,则会缩小以查看所有屏幕的快照,
  2. 如果您打开抽屉并按Home键,它将返回主屏幕。
  3. 任何想法如何做到这一点?

    我只是从头开始做了一个非常简单的原型,只有一个活动(在清单中定义为main / defualt / launcher / home),我看到同样的事情 - 如果我按Home,它会重新创建。

2 个答案:

答案 0 :(得分:4)

android:launchMode="singleInstance"添加到清单中的<activity>元素。

答案 1 :(得分:4)

添加

if (!isTaskRoot()) {
    finish();
    return;
}

到第一个活动的onCreate()(参见Android application restarts when opened by clicking the application icon)。