2010-11-08 38 views
2

即時通訊嘗試使我的android應用程序發送一封電子郵件與xml文件作爲附件。除了我收到的XML文件是空的,所有工作都很好。我檢查,以確保該文件不是我的手機上的空...發送一個xml文件作爲附件與Android

這裏是我用來發送郵件代碼:

Intent mailIntent = new Intent(Intent.ACTION_SEND); 
     mailIntent.setType("text/Message"); 
     mailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {"[email protected]"}); 
     mailIntent.putExtra(Intent.EXTRA_SUBJECT, "MySubject"); 
     mailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file///sdcard/rapport.xml")); 
     startActivity(Intent.createChooser(mailIntent, "Send it out!")); 

日Thnx提前!

回答

4

我認爲這可能是你的文件協議聲明。你可以試試Uri.fromFile,或者可能只是使用「file:///」(你似乎缺少冒號,除非這裏只是一個錯字)。

http://developer.android.com/reference/android/net/Uri.html#fromFile(java.io.File

而且,我的是接近你的,但是這是我如何在過去做了(這似乎工作):

File f = new File("path_to_file"); 
    if (f.exists() && f.canRead()) { 
     Intent sendIntent = new Intent(Intent.ACTION_SEND); 
     sendIntent.setType("text/plain"); 
     sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + 
     f.getAbsolutePath())); 
     sendIntent.putExtra(Intent.EXTRA_SUBJECT, "SUBJECT"); 
     sendIntent.putExtra(Intent.EXTRA_TEXT, "BODY"); 
     startActivity(Intent.createChooser(sendIntent, "Email:")); 
    } else { 
    Toast.makeText(Main.this, getString(R.string.fileNotExistBlah), 
     Toast.LENGTH_LONG).show(); 
    } 
+1

日Thnx查理,失蹤冒號WASN這裏只是一個錯字:( 我會在未來發布問題之前更仔細地閱讀我的代碼,而不是更少,你仍然保存我的一天! – BadSkillz 2010-11-08 18:47:19

相關問題