0

我最近更改了我的应用程序的启动活动 - 通过将清单中的意图过滤器(action.MAIN 和 category.LAUNCHER)从旧活动移动到新活动 - 从那时起新活动名称而不是应用程序名称显示在我的测试手机上的所有应用程序列表(运行 Android 版本 2.3.6)。在“管理应用程序”列表中,它仍然显示应用程序名称。

这没什么大不了的——因为我总是可以用新的启动器活动作为默认创建一个新的应用程序——但如果能够灵活地在同一个项目中动态地更改启动器活动,那就太好了。基本上,除了在清单中剪切和粘贴意图过滤器之外,还需要执行其他操作来更改默认启动器活动吗?也就是说,假设这是问题的原因。

提前感谢您的帮助。

4

3 回答 3

3

从这个答案Android 文档

使用android:label="@string/activity_sample_code" Manifest 中的应用程序元素。这将确定向用户显示的字符串作为应用程序名称。

更新: 应用程序级别标签将为所有子元素提供默认值。如果您覆盖活动上的标签,则该标签将优先。您可以再次使用意图过滤器上的标签覆盖该活动标签!Android 文档中关于图标和标签的部分很好地涵盖了这一点:

在任何情况下,包含元素中的图标和标签设置都会成为容器所有子元素的默认图标和标签设置。

对于简单的应用程序,应用程序上的标签就足够了。

TL;DR:对于启动器,按此顺序首先找到的标签获胜:LAUNCHER-IntentFilter、带有启动器 IntentFilter 的活动、应用程序

于 2013-07-08T13:11:34.557 回答
1

只需从新选择的 Launcher 中删除以下标签Activity

android:label="xyz"

删除此标签将解决问题,是的,您可以Activity随时通过复制粘贴这些标签来更改 Launcher。您还可以将此标签添加到您的应用程序标签中。

于 2013-07-08T13:12:22.373 回答
0

你可以看到这个链接

答案太棒了:

  android:name=".ui.HomeActivity"
  android:label="@string/title_home_activity"
  android:icon="@drawable/icon">
  <intent-filter android:label="@string/app_`enter code here`name">
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
于 2013-10-28T10:33:09.557 回答