我将应用程序的名称定义为字符串中的“MyApp”,并将 list 文件中的应用程序名称引用到该字符串:
字符串.xml:
...
<string name="app_name">MyApp</string>
....
list .xml:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
但是,当我现在在我的设备上安装应用程序时,应用程序浏览器 以名称“登录”显示我的应用程序,这实际上是我的标题 主要 Activity :
<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>
字符串.xml:
...
<string name="title_activity_login">Login</string>
...
当我进入我的设置以卸载应用程序时,会显示正确的名称“MyApp”。为什么 android 在应用程序浏览器中显示错误的应用程序名称?
最佳答案
每个应用程序都可以有多个 Activity 来处理 Intent 操作 MAIN 和类别 LAUNCHER。每个 Activity 都意味着进入应用程序的入口点。由于可以创建不同的入口点,因此可以为这些入口点创建不同的名称。通过在 Activity 中定义 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>
LoginActivity,在此代码 fragment 中覆盖应用程序标签并使用@string/title_activity_login
。
从 list 中删除标签,它应该可以正常工作。否则使用 @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>
您可以从 Activity 内部轻松设置 Activity 的标题
。
关于android - 应用程序列表中显示错误的 app_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026644/