将附件添加到电子邮件

时间:2012-08-08 12:39:22

标签: android email android-sdcard email-attachments filechooser

我正在尝试使用附件发送邮件,并且我已经编写了正常工作的代码,但是在这里我已经编写了我要在程序中附加的文件名,我不想要这样我想要它用户可以从sdcard中选择。如何做。

    public class DemoVoiceActivity extends Activity {
        EditText txtTo,mSubject,mMessageBody,attachment;
        String strSubject,strMessageBody;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            txtTo = (EditText)findViewById(R.id.to);

        mSubject = (EditText)findViewById(R.id.subject);
        mMessageBody = (EditText)findViewById(R.id.message_content);
        attachment=(EditText)findViewById(R.id.attachment);

        String[] strTo = {txtTo.getText().toString()};

        strSubject = mSubject.getText().toString();
        strMessageBody = mMessageBody.getText().toString();
        Intent objIntent = new Intent(android.content.Intent.ACTION_SEND);
        objIntent.putExtra(android.content.Intent.EXTRA_EMAIL, strTo);

        objIntent.setType("plain/text"); objIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, strSubject);
        objIntent.putExtra(android.content.Intent.EXTRA_TEXT, "MESSAGE"); objIntent.putExtra(android.content.Intent.EXTRA_STREAM,Uri.parse("file://"+Environment.getExternalStorageDirectory()+"/q.mp4"));
        startActivity(objIntent);
        finish();
    }
}

1 个答案:

答案 0 :(得分:1)

看看这个答案 https://stackoverflow.com/a/7857102/975959

他提供了一个简单的文件选择器开源库。 然后,您可以在onFileSelect()方法中获取文件路径并将其添加到objIntent

如果你愿意,他还提供自己实施的方法。