2016-06-09 1 views
0

В our Android app мы должны поймать ACTION_SEND намерения от сторонних приложений с произвольным мим типаКак сделать черный список для некоторых mime-типов для Android-приложений?

<intent-filter> 
    <action android:name="android.intent.action.SEND"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
    <data android:mimeType="*/*"/> 
</intent-filter> 

кроме .apk файлов, то мы должны черный список для .apk расширения. Является ли это возможным? Кажется, ответ "No way", но у меня на моем устройстве установлено два приложения, которые определенно решают эту проблему. Они вызываются для файла с произвольным расширением lumix.p&z, открытого из приложения DropBox

и не вызываются с .apk oi.filemanager.apk. Как это возможно?

ответ

0

Кажется, ответ не является «Ни в коем случае»

Там нет способа указать черный список в манифесте.

У меня есть два приложения, установленные на устройстве, которые, безусловно, решить эту проблему

Dropbox использует тип MIME на lumix.p&z запросе, что те офисные приложения которых он зарегистрирован. Dropbox использует тип MIME в запросе oi.filemanager.apk, к которому эти офисные приложения не зарегистрированы. Черный список не требуется. То, что является, требуется для Dropbox, чтобы иметь собственные алгоритмы, возможно реализованные на его серверах, для угадывания соответствующего типа MIME.

+0

Существует не такое расширение - .p & z. Я написал это как пример любого расширения. Поэтому эти офисные приложения зарегистрировались для любого расширения. Но, с другой стороны, эти офисные приложения не зарегистрировались для расширения .apk. Очевидно, здесь мы имеем противоречие. Как это может быть? – isabsent

+0

@isabsent: «Поэтому эти офисные приложения зарегистрировались для любого расширения» - нет. Dropbox использует другие методы для вывода типа MIME, например, просмотр содержимого файла. Или Dropbox использует 'application/octet-stream' или другой общий тип MIME, на который эти приложения регистрируются. – CommonsWare

+0

Спасибо, Марк! Возможно, вы правы. Через какое-то время я помету ваш ответ как решение, если другие предположения не будут сделаны. – isabsent

Смежные вопросы