我正在做一个eclipse上的android启动器,这个包包含了MainActivity本身和SettingsActivity。
这是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>您可以看到,启动器响应home意图,而SettingsActivity从启动器响应它自己的意图。
我如何确保home intent将用户直接带到启动器,无论应用程序的最后一个活动是否已设置?
发布于 2013-01-06 10:51:35
这是因为您已经将Settings 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>发布于 2013-01-08 11:47:28
我得到了另一个问题的解决方案:
Make home intent take to specific application activity?
--
如果您正在尝试创建主屏幕替换,则该活动在清单中的标记中需要包含以下内容:
android:launchMode="singleInstance"这将确保此活动只存在一个实例,并且当此活动启动其他活动时,它们都将进入新任务,而不是主屏幕替换任务的一部分。
https://stackoverflow.com/questions/14178503
复制相似问题