Открытие вложений электронной почты в Android - PullRequest
7 голосов
/ 13 июня 2010

Я пытаюсь открыть определенный тип вложения электронной почты с моей активностью, само вложение представляет собой обычный текстовый файл в стиле Windows с расширением * .os. В электронном письме этот файл прикреплен как «application / octet-stream». Я попробовал следующий фильтр намерений, чтобы поймать вложение в моей деятельности:

         <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="http" android:host="*" android:pathPattern=".*\\.os"/>
            <data android:scheme="https" android:host="*" android:pathPattern=".*\\.os"/>
            <data android:scheme="content" android:host="*" android:pathPattern=".*\\.os"/>
            <data android:scheme="file" android:host="*" android:pathPattern=".*\\.os"/>
        </intent-filter>

Приложение электронной почты загружает вложение, но затем сообщает мне: «Вложение не может быть отображено». Что я могу сделать? Как я могу отладить это?

Ответы [ 2 ]

1 голос
/ 11 января 2011

Это должна быть просто файловая схема, поэтому я бы исключил другие и попробовал с этим и включил mimeType в качестве подстановочного знака (либо "*", либо "* / *"):

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="file" />
    <data android:mimeType="*" />
    <data android:pathPattern=".*\\.os" />
    <data android:host="*" />
</intent-filter>

Если это не сработает, возможно, попробуйте android.intent.action.MAIN для действия.Проверьте журналы, чтобы узнать, дает ли это подробности о намерении, которое ни к чему не соответствует.

0 голосов
/ 14 января 2011

Моим решением, которое работало для файлов .wav, было установить mimeType:

     <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
        <data android:mimeType="application/os" />
    </intent-filter>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...