Java Home intent启动设置活动而不是Main活动?
我正在eclipse上开发一个android launcher,这个包包含ST MainActivity,它是launcher本身和SettingsActivity 我的问题是,如果我打开“设置”页面,转到其他地方,然后单击“主页”按钮,我就会进入“设置”页面(而不是直接进入MainActivity),就像它记得我打开了“设置” 这是AndroidManifest.xml文件的摘录:Java Home intent启动设置活动而不是Main活动?,java,android,eclipse,Java,Android,Eclipse,我正在eclipse上开发一个android launcher,这个包包含ST MainActivity,它是launcher本身和SettingsActivity 我的问题是,如果我打开“设置”页面,转到其他地方,然后单击“主页”按钮,我就会进入“设置”页面(而不是直接进入MainActivity),就像它记得我打开了“设置” 这是AndroidManifest.xml文件的摘录: <!-- Launcher--> <activity android:name=".l
<!-- 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>
您可以看到启动器响应home意图,而SettingsActivity响应启动器自身的意图
无论应用程序的最后一个活动是否为设置,我如何确保home intent将用户直接带到启动器?这是因为您已将设置活动设置为启动器 试试这个
<!-- 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>
这是因为您已将设置活动设置为启动器 试试这个
<!-- 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>
我得到了另一个问题的解决方案: -- 如果尝试创建主屏幕替换,则该活动的清单标记中需要包含以下内容:
android:launchMode="singleInstance"
这将确保此活动仅存在一个实例,并且当此活动启动其他活动时,它们将全部进入新任务,而不是主屏幕替换任务的一部分。我得到了关于另一个问题的解决方案: -- 如果尝试创建主屏幕替换,则该活动的清单标记中需要包含以下内容:
android:launchMode="singleInstance"
这将确保此活动仅存在一个实例,并且当此活动启动其他活动时,它们都将进入新任务,而不是主屏幕替换任务的一部分