首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Home intent启动SettingsActivity而不是MainActivity?

Home intent启动SettingsActivity而不是MainActivity?
EN

Stack Overflow用户
提问于 2013-01-06 09:53:17
回答 2查看 362关注 0票数 0

我正在做一个eclipse上的android启动器,这个包包含了MainActivity本身和SettingsActivity。

这是AndroidManifest.xml文件的摘录:

代码语言:javascript
复制
<!-- 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将用户直接带到启动器,无论应用程序的最后一个活动是否已设置?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-06 10:51:35

这是因为您已经将Settings activity设置为您的启动器。

尝尝这个,

代码语言:javascript
复制
<!-- 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>
票数 3
EN

Stack Overflow用户

发布于 2013-01-08 11:47:28

我得到了另一个问题的解决方案:

Make home intent take to specific application activity?

--

如果您正在尝试创建主屏幕替换,则该活动在清单中的标记中需要包含以下内容:

代码语言:javascript
复制
android:launchMode="singleInstance"

这将确保此活动只存在一个实例,并且当此活动启动其他活动时,它们都将进入新任务,而不是主屏幕替换任务的一部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14178503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档