android - 应用程序列表中显示错误的 app_name

标签 android

我将应用程序的名称定义为字符串中的“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/

相关文章:

java - Android(Java)枚举空指针错误

java - android - MediaPlayer 在公共(public)静态时不播放

安卓应用内计费 : Is it really necessary to create a local service?

android - Broadcastreceiver检测网络是否连接

java - 使用VS代码的Gradle错误: “Could not run build action using Gradle distribution”

android - Android 中的内部手机存储

android - 在 Tablelayout 中设置其参数后按钮丢失

java - 如果我没有使用 .equals 方法,我怎么会收到这个错误?

android - 如何避免 "Activity not started, its current task has been brought to the front "警告?

android - LayerDrawable 以相同大小绘制可绘制对象?