как запустить приложение через вложение электронной почты - PullRequest
0 голосов
/ 17 февраля 2011

Следующее заставляет кнопку предварительного просмотра появиться с вложением электронной почты, и это фактически запускает приложение.Проблема в том, что мое приложение отображается в качестве средства просмотра элементов в моих контактах.Когда вы выбираете контакт, вы получаете всплывающее окно «Выполнить действие с помощью» с моим приложением в списке вместе с «Просмотр контакта».Очевидно, что MimeType вызывает это, но я не могу заставить его работать по-другому.Вложение - это в основном пользовательские данные, не предназначенные для открытия другими приложениями.

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="*/*" />
    <data android:path="custom.extension" />
</intent-filter>            

Ответы [ 2 ]

0 голосов
/ 17 февраля 2011

Вложение - это в основном пользовательские данные, не предназначенные для открытия другими приложениями.

Это не будет работать хорошо.

Либо:

  • Перепроектируйте ваше приложение так, чтобы ваши вложения электронной почты были надежно отправлены с типом MIME (который определяется почтовым клиентом, то есть, если это не какой-то универсально понятный тип файла, он не будет работать),или

  • Не используйте вложения электронной почты, а скорее ссылки на файлы, загруженные из Интернета, где вы можете контролировать тип MIME

Итак,например, PDF-файлы в качестве вложений электронной почты работают достаточно хорошо, поскольку большинство почтовых клиентов знают о PDF-файлах и поэтому отправляют тип MIME application/pdf при отправке вложения.

Как только вы решили проблему получения MIMEНадежно введите в Android (через вложение или по ссылке), затем обновите <intent-filter>, чтобы использовать этот тип MIME.

0 голосов
/ 17 февраля 2011

Я бы добавил пользовательскую схему, и тогда вы можете использовать обычную ссылку в своем теле письма ...

android: схема = "customSchemeName"

...