我正在使用eclipse上的android启动器,该软件包包含MainActivity,它是启动器本身和SettingsActivity。
我的问题是,如果我打开设置页面,转到其他地方,我点击主页按钮,我会进入设置页面(而不是直接进入MainActivity),就像它记得我已经打开了设置。
这是AndroidManifest.xml文件的摘录:
<!-- Launcher-->
<activity
android:name=".launcher.MainActivity"
android:exported="false"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Settings -->
<activity
android:name=".launcher.SettingsActivity"
android:label="@string/launcher_settings_name"
android:theme="@style/android:Theme.DeviceDefault" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
你可以看到启动器响应了家庭意图,而SettingsActivity会从启动器响应它自己的意图。
如果应用的最后一项活动是否已经设置,我怎样才能确保家庭意图将用户直接带到启动器?
答案 0 :(得分:3)
因为您已将“设置”活动设置为启动器。
试试这个,
<!-- Launcher-->
<activity
android:name=".launcher.MainActivity"
android:exported="false"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Settings -->
<activity
android:name=".launcher.SettingsActivity"
android:label="@string/launcher_settings_name"
android:theme="@style/android:Theme.DeviceDefault" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
答案 1 :(得分:0)
我在另一个问题上获得了解决方案:
Make home intent take to specific application activity?
-
如果您尝试创建HOME屏幕替换,那么该活动需要在清单中的标记中包含以下内容:
android:launchMode="singleInstance"
这将确保只存在此活动的一个实例,并且当此活动启动其他活动时,它们将全部进入新任务而不是HOME屏幕替换任务的一部分。