Как зарегистрировать мое приложение в Android, чтобы открывать вложения электронной почты с пользовательским типом файла? - PullRequest
2 голосов
/ 23 апреля 2019

Мое приложение должно обрабатывать мои пользовательские .rmc файлы. Мои пользователи будут получать их по электронной почте, и я хочу, чтобы мое приложение могло их открывать, но в идеале открывать как можно меньше файловых типов, которые мое приложение не может обработать, насколько это возможно.

Я использую следующий фильтр намерений в Android, к сожалению, он не работает для открытия приложений в gmail (gmail выдает сообщение об ошибке, что нет приложения для открытия rmc файлов).

        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <action android:name="android.intent.action.VIEW"/>


            <category android:name="android.intent.category.LAUNCHER"/>

            <category android:name="android.intent.category.DEFAULT"/>
            <data android:scheme="content" android:mimeType="*/*" android:host="*" android:pathPattern=".*\\.rmc"/>
            <data android:mimeType="application/octet" />
            <data android:mimeType="application/octet-stream" />
        </intent-filter>

Для сравнения следующий фильтр ловит файл, но слишком сильно:

        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <action android:name="android.intent.action.VIEW"/>


            <category android:name="android.intent.category.LAUNCHER"/>

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

1 Ответ

1 голос
/ 23 апреля 2019

Мое приложение должно обрабатывать мои пользовательские файлы .rmc.

Расширения расширений файлов в Android практически не поддерживаются.

Я использую следующий фильтр намерений в Android, но, к сожалению, он не работает для открытия приложений в gmail

Для Gmail или любого другого приложения не требуется использовать значения content Uri, которые используют расширение файла.Итак, вы можете иметь этот <intent-filter>, но не предполагайте, что он будет работать со всеми почтовыми клиентами или любым другим произвольным приложением.

Как зарегистрировать мое приложение в Android, чтобы открытьвложения электронной почты с пользовательским типом файла?

Нет.

Если почтовые клиенты, отправляющие электронные письма, будут предоставлять конкретный тип MIME для вашего контента, используйте этот тип MIME дляandroid:mimeType.Например, если вы будете отправлять электронные письма с какого-либо сервера, вы сможете контролировать, как добавляется вложение и какой тип MIME он использует.

В противном случае найдите механизм распространения для этих данных, который используетОтличительный тип MIME (например, загрузка с веб-сервера, где вы настраиваете сервер для обслуживания файлов с этим типом MIME).Затем используйте этот тип MIME для android:mimeType.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...