I have two activities marked with intent filter
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:name=".MyApp"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- work order activity -->
<activity
android:name=".app.WorkOrderActivity"
android:label="@string/work_order"
android:taskAffinity="com.package.task_for_work_order_activity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- inventory activity -->
<activity
android:name=".app.InventoryActivity"
android:label="@string/inventory"
android:taskAffinity="com.package.task_for_inventory_activity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
The problem is, that when I'm installing apk file, there is no activity shown, because, as I understood system can't specify what activity should be shown.
I just really need two activities shown in launcher, so please don't give advice about removing intent-filters from second activity, or if you do so provide me another way to show two icons in launcher.
Add
<action>
items withandroid:name
attributes defined to both intent filters:I think it's because of the "android.intent.action.MAIN" action, this worked for me :
Seems it is possible to have multiple startup activities by using the task affinity property. See the answer at https://stackoverflow.com/a/3270422/819904
You need to specify which activity is the default one by adding the following line to your intent-filter:
Insert this in the default activity and keep the rest. Then it should work.
You may also want to add a different icon to your 2nd activity with the attribute
android:icon="@drawable/myothericon"