我正在处理一个应用程序,我将.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
文件存储在其他地方,然后发送它。
答案 0 :(得分:2)
您可以使用内部存储来存储.vcf文件,并且可以在服务器响应正常后删除。