2010-06-13 3 views
7

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

  <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> 

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

+0

Есть значок для давних вопросов без ответа? – zehrer

+0

Не знаю, если это поможет, но есть блог-блог о том, как это сделать с GMail, может быть, что-то там для вас? http://carvingcode.blogspot.com/2009/08/how-to-open-gmail-attachments-with.html – DrColossos

+0

@fredley То же самое с вами, поскольку я предполагаю, что вам нужно это из-за добавленной награды;) – DrColossos

ответ

1

Это должно быть просто схема файла, поэтому я хотел бы устранить другие и попробовать с только что и включают в себя 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

В результате возникает android.content.IntentFilter $ MalformedMimeTypeException: * – zehrer

0

Мое решение, которое работало для .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> 
+0

Что такое ** android: mimeType = "application/os" **? –

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