You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Android应用名称与Activity名称一致、显示异常问题及修改咨询

解答你的Android应用名称相关问题

嗨,我来帮你理清这两个关于应用名称显示的问题,结合你给出的配置文件,咱们逐一分析:

问题1:为何我的应用名称与Activity名称相同?

这是因为Android桌面(Launcher)显示的应用名称,会优先读取带有MAINLAUNCHER意图过滤器的组件android:label属性值,而非<application>标签的label。

看你的配置:

  • 你的<activity-alias>组件设置了android:label="@string/main_activity_title"(对应值是"Money"),而这个别名正是绑定了启动应用的<intent-filter>(包含MAINLAUNCHER)。
  • 同时你的MoneyActivity也用了同一个@string/main_activity_title作为自身的label。

这就导致桌面显示的应用名称和Activity的标题都是"Money",看起来就像是两者名称相同了。

问题2:为何我的应用显示名称为“Money”而非“My Application”?该如何修改?

原因

刚才已经提到核心逻辑:Launcher会优先使用启动组件(这里是activity-alias)的label值。你的activity-alias指定了@string/main_activity_title("Money"),所以桌面显示的是这个值,而非<application>中设置的@string/app_name("My Application")。

修改方案(二选一即可)

  • 方案1:直接修改activity-alias的label为@string/app_name
    <activity-alias>android:label改成和应用级别的label一致,这样桌面显示应用名称为"My Application",而MoneyActivity的标题依然保留"Money",两者互不影响:

    <activity-alias 
        android:name=".MainActivity" 
        android:label="@string/app_name" 
        android:launchMode="singleTop" 
        android:targetActivity=".activities.money.list.MoneyActivity">
        <intent-filter android:label="@string/app_name">
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity-alias>
    
  • 方案2:移除activity-aliasandroid:label属性
    如果不单独给activity-alias设置label,系统会自动继承<application>标签的label值。修改后代码如下:

    <activity-alias 
        android:name=".MainActivity" 
        android:launchMode="singleTop" 
        android:targetActivity=".activities.money.list.MoneyActivity">
        <intent-filter android:label="@string/app_name">
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity-alias>
    

补充说明:<intent-filter>里的android:label一般用于特殊场景(比如显示该意图的功能描述),不会影响桌面的应用名称显示,你可以根据需求保留或调整它。

内容的提问来源于stack exchange,提问作者user11705159

火山引擎 最新活动