Reputation: 1251
I want to see my application in Chooser dialog when I click any type of file or click on gmail attachment or share any file in my android device. So to achieve this functionality I used below intent filters.
<activity
android:name=".activities.ShareWithAttachmentActivity"
android:label="Adoddle"
android:screenOrientation="sensorPortrait">
<intent-filter>
<!---->
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!--<data android:mimeType="*/*" />-->
<data android:mimeType="application/*" />
<data android:mimeType="audio/*" />
<data android:mimeType="image/*" />
<data android:mimeType="message/*" />
<data android:mimeType="multipart/*" />
<data android:mimeType="text/plain" />
<data android:mimeType="text/html" />
<data android:mimeType="text/javascript" />
<data android:mimeType="text/richtext" />
<data android:mimeType="text/uri-list" />
<data android:mimeType="text/xml" />
<data android:mimeType="text/css " />
<data android:mimeType="video/*" />
</intent-filter>
</activity>
But when I click on gmail notification App chooser Dialog opens and in that chooser I can see my application. And when I click on my application it gets crashed. As per my requirement my app shouldn't be displayed in that app chooser dialog when I click on that gmail notification.
I refered below links for that but didn't help me.
Upvotes: 1
Views: 489
Reputation: 1251
I found a solution for this. When you click on gmail notification then it's mime type is "application/gmail-ls"
. So exclude this mime type in your application. So remove <data android:mimeType="application/*" />
and specify whatever type you want to filter. (e.g. application/zip ,application/msword etc. )
<activity
android:name=".activities.ShareWithAttachmentActivity"
android:label="Adoddle"
android:screenOrientation="sensorPortrait">
<intent-filter>
<!---->
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="*"
android:mimeType="application/zip"
android:scheme="content" />
<data
android:host="*"
android:mimeType="application/vnd.ms-excel"
android:scheme="content" />
<data
android:host="*"
android:mimeType="application/msword"
android:scheme="content" />
<data
android:host="*"
android:mimeType="application/vnd.ms-powerpoint"
android:scheme="content" />
<data
android:host="*"
android:mimeType="application/pdf"
android:scheme="content" />
<data
android:host="*"
android:mimeType="audio/*"
android:scheme="content" />
<data
android:host="*"
android:mimeType="image/*"
android:scheme="content" />
<data
android:host="*"
android:mimeType="message/*"
android:scheme="content" />
<data
android:host="*"
android:mimeType="multipart/*"
android:scheme="content" />
<data
android:host="*"
android:mimeType="text/plain"
android:scheme="content" />
<data
android:host="*"
android:mimeType="text/html"
android:scheme="content" />
<data
android:host="*"
android:mimeType="text/javascript"
android:scheme="content" />
<data
android:host="*"
android:mimeType="text/richtext"
android:scheme="content" />
<data
android:host="*"
android:mimeType="text/uri-list"
android:scheme="content" />
<data
android:host="*"
android:mimeType="text/xml"
android:scheme="content" />
<data
android:host="*"
android:mimeType="text/css "
android:scheme="content" />
<data
android:host="*"
android:mimeType="video/*"
android:scheme="content" />
</intent-filter>
</activity>
Upvotes: 1
Reputation: 218
remove these two actions from <intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />
Upvotes: 0