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);