Имя значка приложения Android, выбранное из метки активности, чем на ярлыке приложения

Не уверен, что кто-то еще разместил этот вопрос, не нашел, хотя есть похожие.

Это мой манифест 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"

Что я делаю неправильно?

Ответ 1

Что я делаю неправильно?

Ничего. Это работает как разработанный.

Вы также можете иметь атрибут android:label на <intent-filter>, который должен использоваться для ярлыка метки запуска, в соответствии с документацией:

Значок и набор меток для фильтра намерений используются для представления компонента всякий раз, когда компонент представляется пользователю как выполняющий функцию, рекламируемую фильтром. Например, фильтр с параметрами "android.intent.action.MAIN" и "android.intent.category.LAUNCHER" рекламирует активность как инициирующую приложение, то есть как та, которая должна отображаться в панели запуска приложения. Значок и метка, установленные в фильтре, поэтому отображаются в панели запуска.

Ответ 2

Если у вас есть "активность запуска" с [название метки] и "тег приложения" также с другим именем [label name], то Android примет имя [label name] из Activity Launcher.

Ответ 3

Альтернативное решение, предложенное Commonsware (которое, как мне показалось, было удалено и пропущено на некоторых устройствах), заключается в том, чтобы установить метку приложения в манифесте, как вы это делаете, чтобы не устанавливать метку активность запуска в манифесте и вместо этого программным образом установить его в свой метод onCreate(Bundle) следующим образом:

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

Ответ 4

Возможно, потому что ярлык основного действия - "activity_startup_label"

Ответ 5

В вашем manifest.xml измените свой ярлык на:

    android:label="@string/app_name"