应用程序在启动器单击后再次启动,即使它已在运行

时间:2016-07-18 17:08:43

标签: android launcher

我遇到的问题是,如果用户点击启动器图标,我的应用程序将再次启动,即使它已在运行。我使用singleTaks作为该活动,并且尽可能多的Stackoverflow Answers说 - >这应该可以解决问题 - 但事实并非如此。

<activity
    android:name=".activities.ActivitySplash"
    android:launchMode="singleTask">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

正如您所见,我确实将launchMode定义为singleTask。我打开App。导航到屏幕X(我甚至可以保持在开始屏幕上,具有相同的效果),现在我按下主页按钮。当我现在再次按下启动器图标时,已经运行的应用程序不会弹出或正在恢复(按照您的意愿调用它)。相反,应用程序完全是新的。

如果singleTask不起作用,我该如何防止这种行为?

1 个答案:

答案 0 :(得分:1)

尝试使用SingleTop:

  

如果目标任务已有活动的现有实例   在它的堆栈顶部,该实例将接收新的意图(在   onNewIntent()调用);未创建新实例。其他   环境 - 例如,如果是现有的实例   &#34; singleTop&#34;活动在目标任务中,但不在顶部   堆栈,或者如果它位于堆栈的顶部,但不在目标任务中 -   将创建一个新实例并将其推送到堆栈中。