Скрыть мое приложение в диалоговом окне выбора намерений при нажатии на уведомление Gmail в Android
Я хочу видеть свое приложение в диалоговом окне "Выбор", когда я щелкаю по файлу любого типа, щелкаю по вложению в gmail или делюсь любым файлом на моем устройстве Android. Поэтому для достижения этой функциональности я использовал фильтры намерений ниже.
<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>
Но когда я нажимаю на уведомление по gmail, открывается диалог выбора приложения, и в этом окне выбора я вижу свое приложение. И когда я нажимаю на свое приложение, оно падает. Согласно моему требованию, мое приложение не должно отображаться в диалоговом окне выбора приложения, когда я нажимаю на это уведомление Gmail.
Я ссылался ниже на ссылки для этого, но не помог мне.
2 ответа
Я нашел решение для этого. Когда вы нажимаете на уведомление Gmail, то это MIME тип "application/gmail-ls"
, Так что исключите этот тип пантомимы в вашем приложении. Так удали <data android:mimeType="application/*" />
и укажите любой тип, который вы хотите фильтровать. (например, application / zip,application / msword и т. д.)
<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>
Удалить эти два действия из <intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />