I have a MainActivity in my app. I want my MainActivity through the implicit intent.Also, I want user should have two options to come to my app as I have two cases for both two otpions. I am using as shown below but unable to see two options for my app when user tries to share.
kindly help me to achieve the solution
<activity
android:name=".MainActivity"
android:allowEmbedded="true"
android:alwaysRetainTaskState="true"
android:configChanges="layoutDirection|locale"
android:exported="true"
android:hardwareAccelerated="true"
android:launchMode="singleTask"
android:resizeableActivity="true"
android:screenOrientation="portrait"
android:theme="@style/OTPTheme"
android:windowSoftInputMode="stateVisible|adjustPan">
<intent-filter android:label="@string/title_activity_main">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" android:path="/main_activity" />
</intent-filter>
</activity>
<activity-alias
android:name=".MyShareActivity"
android:targetActivity=".MainActivity"
android:exported="true"
android:enabled="true">
<intent-filter android:label="Random Text">
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE"/>
<data android:mimeType="image/*" android:path="/share_activity" />
</intent-filter>
</activity-alias>
You need to add
<category android:name="android.intent.category.DEFAULT" />
to the <intent-filter>
for the <activity-alias>
.
Here's a note from the documentation for <category>
:
Note: To receive implicit intents, you must include the CATEGORY_DEFAULT category in the intent filter. The methods
startActivity()
andstartActivityForResult()
treat all intents as if they declared the CATEGORY_DEFAULT category. If you don't declare it in your intent filter, no implicit intents can resolve your activity.