Android App activities installed as multiple icons

Android

Android Problem Overview


My Android App has 2 activities. A login screen and a search screen. When I deploy the app on emulator or on my device, I see 2 icons for same app. When I click on icon 1 it opens screen 1 (login screen) and When I click on icon 2 it opens screen 2 (search screen). By logic when I login it should show the search screen. Not sure when I'm making the mistake.

Android Solutions


Solution 1 - Android

Your manifest file should only have this line in the activity you want to have an icon:

<category android:name="android.intent.category.MAIN" />

Based on your description, it sounds like both activities have this line.

Solution 2 - Android

In your mainfest file when you have following tag in two different activities tags at the time, Android app seems to be installed twice.

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
	<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>	

Solution 3 - Android

The comment made by @Adrian C on his answer solved our problem.

The manifest file of our main application had only one intent-filter tag specifying only one activity as the launcher activity for the application.

So I had to look deeper...

We included library projects (luckily written by us) and the manifest file of one of the library projects had an intent-filter tag on its activity specifying that activity as the launcher activity.

When we then included that library project in our main application (which has its own intent-filter specifying a launcher activity), the complete source code saw two intent-filter tags specifying two activities as launcher activities and therefore two application icons were created.

When we removed the intent-filter specifying a launcher activity in the library project, the second app launcher icon disappeared.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAravindan. CView Question on Stackoverflow
Solution 1 - AndroidAaron CView Answer on Stackoverflow
Solution 2 - AndroidMeghaView Answer on Stackoverflow
Solution 3 - AndroidmarienkeView Answer on Stackoverflow