【发布时间】:2014-07-30 14:40:43
【问题描述】:
有关活动启动模式的当前问题,请参阅更新 2
我正在开发一个 Android 应用程序。现在我有一个问题,一旦我在应用程序中打开一个新活动(不是android.intent.action.MAIN 和android.intent.category.LAUNCHER 的活动),然后按主页按钮,然后按应用程序图标,应用程序不会导航我回到我已经打开的新活动(并显示在最近的应用程序列表中)。相反,它会打开一个新的 MAIN 活动。
我应该怎么做才能改变这种行为?
================================================ ====
更新
从主活动开始其他活动的代码
startActivity(new Intent(MainActivity.this, LocalActivity.class));
AndroidManifest.xml
<activity
android:name=".MainActivity"
android:theme="@style/AppDrawTheme"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LocalActivity"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="portrait">
</activity>
================================================ ====
更新 2
我通过改变来解决问题
android:launchMode="singleInstance"
到
android:launchMode="singleTask"
虽然我不明白为什么singleInstance 会是个问题。
我应该如何理解 Google 在 Android 文档上写的内容“除了系统不会在持有实例的任务中启动任何其他活动”?
【问题讨论】:
-
例如,您可以将最后一个 Activity 类存储在首选项中,然后在 MAIN 的 onCreate 中,查看首选项中的这个键,然后运行正确的活动。
-
默认情况下,android 会做你期望它做的事情,除非你在 Activity 中做一些可以防止这种情况发生的事情。您能否提供更多关于您在主要活动中所做的事情以及您从主要活动中启动的活动的信息?
标签: java android android-intent android-activity activity-lifecycle