這可能看起來是重複的,但我認爲我已經嘗試了大多數沒有成功發佈的解決方案。如何在電子郵件應用程序中使用我的應用程序打開附件? (mime類型,意圖過濾器...)
我寫在某個時候通過電子郵件與自定義擴展(名爲.xyz)
然後我需要從電子郵件應用程序打開此文件發送文件的應用程序,我不能使它發揮作用。
在閱讀了本站和其他人的很多帖子後,我想出了一個意圖過濾器,允許我從文件資源管理器(而不是電子郵件應用程序)打開這些文件。
<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" android:host="*"
android:pathPattern=".*\\.xyz"/>
</intent-filter>
然後我試圖打開電子郵件和Web瀏覽器內的附件,並沒有奏效。 (該文件被下載,但後來我無法打開它)。 我在logcat的
09-14 12:30:50.516: D/DownloadManager(2341): android.content.ActivityNotFoundException:
No Activity found to handle Intent
{ act=android.intent.action.VIEW
dat=file:///mnt/sdcard/download/samplefile.xyz
typ=message/rfc822 flg=0x10000000 }
雖然我覺得很奇怪使用RFC822 MIME類型文件得到這個錯誤,我改變了意圖過濾器,並添加
android:mimeType="message/rfc822"
的數據部分。
然後,我可以在從瀏覽器下載文件後打開文件,但無法再從文件資源管理器中打開該文件(這很有道理)。
即使加入android:mimeType =「/」也有同樣的效果。 (從ASTRO文件資源管理器中看到的文件的MIME類型爲空)。
但我真正需要的是從電子郵件應用程序打開文件,這些方法都沒有幫助。打開電子郵件時我甚至不能點擊附件。
我可能需要創建一個自定義MIME類型,但我一直無法找到如何去做。
所以,問題是,我需要做什麼來打開電子郵件附件(從內置的電子郵件應用程序)與我的應用程序?
- 創建一個MIME類型? (如果是這樣,怎麼辦?)
- 創建一個內容提供者?
- 都是? (再次,如何?)