为什么在电子邮件中作为附件发送的文件会收到0kb的大小?

时间:2012-02-28 08:23:09

标签: android email

我正在发送电子邮件文件中的文件。发送的文件但其大小仍为0kb,文件丢失所有数据。 有没有办法做同样的文件仍然是原始内容? 我正在使用以下代码。

File f=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/SMSZip/a1.rar");

            Uri uri = Uri.fromFile(f);
            Intent i = new Intent(Intent.ACTION_SEND);
            i.setType("text/plain");
            i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"abc77@gmail.com"});
            i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
            i.putExtra(Intent.EXTRA_TEXT   , "body of email");
            i.putExtra(Intent.EXTRA_STREAM, Uri.parse(f.getAbsolutePath()));

            try {
                startActivity(Intent.createChooser(i, "Send mail..."));
            } catch (android.content.ActivityNotFoundException ex) {
                Toast.makeText(getApplicationContext(), "There are no email clients installed.", Toast.LENGTH_SHORT).show();
            }

2 个答案:

答案 0 :(得分:0)

从您的代码中

i.putExtra(Intent.EXTRA_STREAM, Uri.parse(f.getAbsolutePath())); 

这应该是

i.putExtra(Intent.EXTRA_STREAM, uri); 

试试这个。

答案 1 :(得分:0)

我已完成从SD卡发送任何带有邮件附件的文件..

Intent sendEmail= new Intent(Intent.ACTION_SEND);
       sendEmail.setType("rar/image");
       sendEmail.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new        
             File("/mnt/sdcard/download/abc.rar")));
             startActivity(Intent.createChooser(sendEmail, "Email:"));