Not sure if anyone else posted this question, didn\'t find any, though there are similar ones.
This is my manifest xml:
What am I doing wrong?
Nothing. This is working as designed.
You are welcome to also have an android:label
attribute on the <intent-filter>
, which should be used for the launcher icon label, according to the documentation:
The icon and label set for an intent filter are used to represent a component whenever the component is presented to the user as fulfilling the function advertised by the filter. For example, a filter with "android.intent.action.MAIN" and "android.intent.category.LAUNCHER" settings advertises an activity as one that initiates an application — that is, as one that should be displayed in the application launcher. The icon and label set in the filter are therefore the ones displayed in the launcher.
An alternative solution to the one proposed by Commonsware (which I've found to be hit and miss on some devices) is to set the label of the application in the manifest as you're doing, to not set the label of the launcher activity in the manifest and instead to set it programmatically in your activity's onCreate(Bundle)
method as follows:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.activity_startup_label);
// do whatever else you need to
}
In your manifest.xml change your label to:
android:label="@string/app_name"
Probably because the label of the main activity is "activity_startup_label"
If you have a "launcher activity" with [label name] & "application tag" also with a different [label name] then Android will take the [label name] from the Launcher Activity.