我想讓我的Android應用程序以各種方式(郵件,藍牙,無論)從一個設備發送文件到另一個設備。郵件附件沒有正確的內容類型
我的第一個用例是電子郵件。這是我用來生成我的SEND意圖的代碼。
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/xml");
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.share_list)));
當我在模擬器(Android 2.1系統)運行此,所產生的郵件的附件部分寫着:
Content-Type: ;
然而,當我在我的Galaxy Nexus(安卓4.2.2運行此),所述附接部分讀取:
Content-Type: application/tpl;
這可能是因爲所傳遞的URI在.tpl
結束。
這是我本來期望:
Content-Type: text/xml;
我失去了一些東西在這裏?郵件附件具有正確的MIME類型是非常重要的,所以我可以在應用程序的接收端使用意圖過濾器。
您是否嘗試使用電子郵件應用程序附加其中一個文件並查看附件部分讀取的內容?我想你會得到同樣的結果。 – 2013-05-14 18:08:10
這也取決於電子郵件客戶端。正如@ Marina.Eariel所述,嘗試直接從各種電子郵件客戶端附加文件,您可能會對結果感到驚訝。處理這種情況的一種方法是爲您的應用程序提供一個自定義文件擴展名,並使您的意圖過濾器用於辨別應該處理的文件。 – adrianp 2013-05-15 09:00:06
此附件在設備中不工作,因爲模擬器中沒有電子郵件app.try這在設備中。 – 2013-05-16 04:58:46