从活动标签中挑选的Android应用程序图标名称,而不是从应用程

时间:2014-01-30 14:54:47

标签: android android-manifest

不确定是否有其他人发布过这个问题,但没有发现任何问题,尽管有类似问题。

这是我的清单xml:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
      android:name="com.listCalc.tutorial.simpleinappbillingv3.ui.StartUpActivity"
      android:label="@string/activity_startup_label"
      android:screenOrientation="portrait" >
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <activity
      android:name="com.listCalc.tutorial.simpleinappbillingv3.ui.MainActivity"
      android:label="@string/activity_main_label"
      android:screenOrientation="portrait" />
    <activity
      android:name="com.listCalc.tutorial.simpleinappbillingv3.ui.PurchasePassportActivity"
      android:label="@string/activity_purchase_label"
      android:screenOrientation="portrait" />
  </application>

String.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>

  <string name="app_name">List Calc in-app billing V3</string>
  <string name="hello_world">Hello world!</string>
  <string name="menu_settings">Settings</string>
  <string name="main_button_purchase_passport_text">Purchase Passport</string>
  <string name="main_cont_desc_image_passport">purchased passport</string>
  <string name="activity_startup_label">Loading</string>
  <string name="activity_main_label">Main Menu</string>
  <string name="activity_purchase_label">Making Purchase</string>

</resources>

应用程序名称,即启动器图标名称被选为“activity_startup_label”而不是“app_name”

我做错了什么?

5 个答案:

答案 0 :(得分:12)

  

我做错了什么?

无。这是按设计工作的。

根据the documentation,我们欢迎android:label上的<intent-filter>属性应用于启动器图标标签:

  

每当组件呈现给用户时,意图过滤器的图标和标签集用于表示组件,以满足过滤器通告的功能。例如,带有&#34; android.intent.action.MAIN&#34;的过滤器和&#34; android.intent.category.LAUNCHER&#34; settings将活动通告为启动应用程序的活动 - 即应该在应用程序启动器中显示的活动。因此,过滤器中设置的图标和标签是启动器中显示的图标和标签。

答案 1 :(得分:2)

Commonsware提出的另一种解决方案(我发现它在某些设备上被击中和遗漏)是在你正在做的时候在清单中设置应用程序的标签, not < / em>在清单中设置启动器活动的标签,而不是在您的活动的onCreate(Bundle)方法中以编程方式设置它,如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTitle(R.string.activity_startup_label);
    // do whatever else you need to
}

答案 2 :(得分:1)

如果您有[标签名称]&amp;的“启动器活动” “应用程序标签”也使用不同的[标签名称],然后Android将从Launcher活动中获取[标签名称]。

答案 3 :(得分:0)

可能是因为主要活动的标签是“activity_startup_label”

答案 4 :(得分:0)

在manifest.xml中将标签更改为:

    android:label="@string/app_name"