如果在android清单中没有指定android:label,应用程序名称会发生​​什么?

时间:2015-11-10 10:26:58

标签: android label android-manifest

我的android清单中有以下内容:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="nis.history_card_game" >

<application
    android:allowBackup="true"
    android:icon="@mipmap/history"
    android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
    <activity
        android:name=".Battlefield">
    </activity>
    <activity
        android:name=".ChooseHero">
    </activity>
</application>

出于某种原因,我的应用被称为 nis.history.card_game 那么如果在应用标记android:label中丢失会发生什么?

2 个答案:

答案 0 :(得分:1)

我认为不需要带有android:label属性的activity标签,除非你想让活动的标题与应用程序标签不同,你可以使用自己的标签。默认值应与应用程序标签相同。

AndroidManifest.xml文件的元素

上面的xml文件中使用的元素如下所述。

  

<强>清单

manifest是AndroidManifest.xml文件的根元素。它具有 package 属性,用于描述活动类的包名称。

  

<强>应用

应用程序是清单的子元素。它包括名称空间声明。该元素包含几个子元素,用于声明应用程序组件,如活动等。

此元素的常用属性为图标标签主题等。

android:icon 表示所有Android应用程序组件的图标。

android:label 作为所有应用程序组件的默认标签。

android:theme 代表所有Android活动的共同主题。

  

<强>活性

活动是应用程序的子元素,表示必须在AndroidManifest.xml文件中定义的活动。它有许多属性,如标签,名称,主题,launchMode等。

android:label 代表一个标签,即显示在屏幕上。

android:name 表示活动类的名称。这是必需属性。

  

<强>意图过滤

intent-filter是活动的子元素,描述活动,服务或广播接收者可以响应的意图类型。

  

<强>动作

它为 intent-filter 添加了一项操作。 intent-filter必须至少有一个action元素。

  

<强>类别

它为intent-filter添加了一个类别名称。

答案 1 :(得分:0)

我不会&#39;知道为什么这种情况发生 - 如果缺少android:label属性,系统会自动分配包名称。不知道为什么会这样 - 可能只是谷歌的惯例。

但解决方案只是在标签中添加标签,而不是在上面!