2012-02-17 207 views
1

我正在開發一個應用程序,需要發送電子郵件給一個人。一切工作正常,除了附件。這是這段代碼電子郵件附件

emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse( "file://"+Environment.getExternalStorageDirectory()+""+attach)); 

attach是通過在手機中瀏覽得到的文件。 但附件沒有被髮送請幫助。

感謝名單

回答

1

根據我的博客帖子發現here

創建Android上的郵件,用戶可以用他的 選擇的應用程序發送的網絡廣爲流傳。但這不是你如何附加將通過谷歌郵件發送的文件 。

這裏的問題是,Gmail應用程序只希望要發送的 位於SD卡

Intent mail = new Intent(android.content.Intent.ACTION_SEND); 
mail.setType("application/octet-stream"); 
mail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"[email protected]"}); 
mail.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject"); 
mail.putExtra(android.content.Intent.EXTRA_TEXT, "Message"); 
mail.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath() + "/file.txt")); 
PrefAct.startActivity(Intent.createChooser(mail, "Send mail via...")); 

正如所說,當用戶將郵件發送 Gmail會拒絕你的附件文件時,文件ISN」 t位於ExternalStorage上。

+0

非常感謝!這是當場:) – SKB 2012-02-17 18:21:30