0

我正在开发一个应用程序,我通过我的应用程序将.vcf文件作为附件发送到电子邮件,

我使用以下代码来实现这一点,

try {
path = Environment.getExternalStorageDirectory().toString()+ File.separator +vfile;
FileOutputStream mFileOutputStream = new FileOutputStream(path, true);
     mFileOutputStream.write(vCardString.toString().getBytes());
File filevcf = new File(path);
Log.d("file", "file" + filevcf);
} catch (Exception e4) {
Log.d("File", "File Error-->>" + e4);}

我正在使用以下代码.vcf使用默认电子邮件应用程序将此文件发送到电子邮件。

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("vnd.android.cursor.dir/email");
String to[] = "asd@gmail.com";
sharingIntent.putExtra(Intent.EXTRA_EMAIL, to);
sharingIntent.putExtra(Intent.EXTRA_STREAM,  Uri.parse(path));
sharingIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");
startActivity(Intent.createChooser(sharingIntent, "Send email"));

在这种情况下,我必须将联系人作为.vcf文件存储在 sd 卡上,然后才能将其发送到电子邮件。如果设备中没有 sd 卡,则会抛出异常。

.vcf即使设备中没有 sd 卡,我也希望应用程序能够发送文件。有什么方法可以做到这一点,或者是否有任何方法可以将此.vcf文件存储在其他地方然后发送。

4

1 回答 1

2

您可以使用内部存储来存储您的 .vcf 文件,并且可以在服务器响应正常后删除。

于 2012-12-29T09:00:06.743 回答