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 に答える