I noticed there are some differences in how the app name can turn up in Lollipop devices. Before Lollipop, you can have different app names with this:
<application
android:label="@string/app_name"> // appears in manage app info
<activity
android:name=".MainActivity"
android:label="@string/action_bar_title"> // appears in actionbar title
<intent-filter android:label="@string/name_in_icon_launcher"> // appears in icon launcher
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
...
In Lollipop, it will be like this:
<application
android:label="@string/name_in_manage_app_info">
<activity
android:name=".MainActivity"
android:label="@string/name_in_actionbar_and_icon_launcher">
<intent-filter android:label="@string/this_is_useless">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
In Lollipop, android:label
in intent-filter is basically useless, while actionbar title and icon launcher is identical. So, if you want a different title in actionbar, you have no choice but to set dynamically
getSupportActionBar().setTitle(R.string.app_name);