我在字符串中将应用程序的名称定义为"MyApp",并将清单文件中的应用程序名称引用到该字符串:
strings.xml中:
...
<string name="app_name">MyApp</string>
....
Run Code Online (Sandbox Code Playgroud)
的Manifest.xml:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
Run Code Online (Sandbox Code Playgroud)
但是,当我现在在我的设备上安装应用程序时,应用程序浏览器以"登录"名称显示我的应用程序,这实际上是我的MainActivity的标题:
<activity
android:name="de.my_project.activities.LoginActivity"
android:label="@string/title_activity_login"
android:launchMode="singleTask" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
strings.xml中:
...
<string name="title_activity_login">Login</string>
...
Run Code Online (Sandbox Code Playgroud)
当我进入我的设置卸载应用程序时,会显示正确的名称"MyApp".为什么android在我的应用程序浏览器中显示错误的名称?
每个应用程序都可以有多个活动来处理意图动作MAIN和类别LAUNCHER.每个活动都意味着进入应用程序的入口点.由于可以创建不同的入口点,因此可以为这些入口点创建不同的名称.通过android:label在活动中定义,您将在应用程序菜单中设置应用程序的名称.
<activity
android:name="de.my_project.activities.LoginActivity"
android:label="@string/title_activity_login"
android:launchMode="singleTask" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
LoginActivity,在此代码段中覆盖应用程序标签并使用@string/title_activity_login.
从Manifest中删除标签,它应该可以正常工作.否则使用@string/app_name.
<activity
android:name="de.my_project.activities.LoginActivity"
android:label="@string/app_name"
android:launchMode="singleTask" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
您可以轻松地title从活动内部设置活动.
| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |