2012-12-13 66 views
3

我試圖在Android中使用意圖發送文件。我啓動了一個意圖選擇器並選擇了GMail應用程序。問題是我無法設置我的自定義MIME類型,它總是成爲應用程序/八位字節流。 (?也許老版本的Android,像預JB)在GMail應用程序中忽略自定義MIME類型

在舊版本的Gmail應用的它工作得很好做這樣的:

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
// Add attributes to the intent 
sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Send my file"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(path)); 
sendIntent.setType("application/vnd.mycustommimetype"); 
context.startActivity(Intent.createChooser(sendIntent, context.getString(R.string.lblShare))); 

有誰知道如何設置MIME類型一起工作更高版本的GMail/Android?

索姆試錯後,我見,在Gmail應用程序版本4這個工作得很好,但在GMail的4.2版是不可能設置MIME類型,或者它以另一種方式來完成。任何人都知道? :/

+0

我有同樣的問題。你找到了解決方案嗎? – pstoppani

+0

Android 5.0中仍然存在問題 –

回答

0

請檢查此代碼段

final Intent emailIntent = new Intent(Intent.ACTION_SEND); 
emailIntent.setType("text/plain"); 
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "my subject"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, "body text"); 
context.startActivity(Intent.createChooser(emailIntent, "Send mail...")); 
+0

問題是,此示例不顯示如何使用自定義MIME類型添加附件,它只會發送純文本電子郵件。 – Mackan

1

不幸的是,沒有什麼可以做的。一些電子郵件應用程序,上帝知道什麼原因,錯誤地將自定義文件的MIME類型設置爲八位字節流。 你最好的辦法是設置你的自定義MIME類型,但是,在接收端,確保你也接受八位字節流。然後,您需要檢查文件擴展名以確保它確實是您的文件,而不是別的,不適用於您的應用程序(我假設您也使用自定義擴展名)。

相關問題