我想從Android發送一個pdf作爲附件。這裏是代碼:如何在從Android發送附件時添加.pdf擴展名?
String[] mailto = {"[email protected]"};
Uri uri = Uri.parse("android.resource://com.mywebsite.sendemail/raw/mypdf");
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, mailto);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "My Subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "My Body");
emailIntent.setType("application/pdf");
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(emailIntent, "Send email using:"));
現在這個工程,但問題是,該附件被稱爲mypdf而不是mypdf.pdf。我無法弄清楚如何用它的擴展名發送它......這是我需要幫助的。謝謝。
感謝馬克。我已經能夠通過將文件複製到SDCard然後使用Uri.fromFile來解決問題。我不喜歡這種解決方案,因爲如果SD卡丟失或忙碌,它將無法工作。我把pdf的一個副本放在/ assets目錄中,但一直沒能使它與Uri.fromFile或Uri.parse協同工作。不知道爲什麼... – nickfox 2010-09-24 15:30:09
嗯......'file:/// android_asset/mypdf.pdf'可能會工作。我只在自己的應用程序中使用過這種語法,但不是傳遞給另一個應用程序。 – CommonsWare 2010-09-24 16:27:01
我嘗試了18種不同的fromFile和parse排列,包括使用android_asset,正如你所建議的。我非常確信自己必須從SD卡上讀取它......這是不幸的。這是在Android中真的可以改進的東西...這是我最終使用從卡中讀取的uri:Uri uri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),「mypdf.pdf」)) ; – nickfox 2010-09-24 17:39:12