为什么AndroidManifest.xml文件有冗余的android:label属性?

时间:2012-02-24 01:51:08

标签: android android-manifest

应用程序元素android:label上的

The DevGuide

  

整个应用程序的用户可读标签,以及每个应用程序组件的默认标签。

然而,有一个示例清单的世界具有

形式
<application ... android:label="@string/app_name">
    <activity ... android:label="@string/app_name"> ... </activity>
    <activity ... android:label="@string/app_name"> ... </activity>
    ...
</application>

我所拥有的每本Android书籍都包括Commonsware书籍。通过SDK示例的一瞥可以看出ContactManager是这样做的,但不是Snake或Lunar Lander。

是否有一些历史原因让这个属性像这样重复?或者它就像Eclipse的存根注释一样,人们留在后存根代码中(以及书中的例子,在一个案例中),或者像我自己的模仿清单中的重复标签,只是人们没有想到的东西?

3 个答案:

答案 0 :(得分:0)

我认为不需要具有属性activity的{​​{1}}标记,除非您希望将活动标题与应用标签不同,您可以使用自己的标签。默认值应与应用程序标签相同。

答案 1 :(得分:0)

单个应用程序可以在Android启动器中拥有多个图标,因为每个图标都可以映射到单个活动。具有以下意图过滤器的活动将在启动器

中显示为独立图标
<intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

android:label的值将显示为lancher中该图标下的名称

答案 2 :(得分:0)

API 2 (Android 1.1)SDK示例的AndroidManifest.xml没有此冗余。我的结论是,它从来没有必要,而且它是货物崇拜节目的一个(无害的)例子。