发送联系人.vcf文件

时间:2015-09-22 20:17:22

标签: android android-intent email-attachments android-bluetooth android-sharing

我想使用蓝牙和电子邮件发送联系人vcf文件。我试过,但我一直在收到错误。请帮忙。感谢

这是我的sendByBluetooth方法。

public void sendByBluetooth(){
    Intent intent = new Intent();  
    intent.setAction(Intent.ACTION_SEND);  
    intent.setType("image/png");
    intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(storage_path) );  
    startActivity(intent);
}

这是我的emailContact方法。

public void emailContact() {     
    Intent sendIntent = new Intent(Intent.ACTION_SEND); 
    // Add attributes to the intent 
    sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    sendIntent.putExtra(Intent.EXTRA_SUBJECT,"subject line"); 
    sendIntent.putExtra(Intent.EXTRA_TEXT,"Body of email"); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(storage_path))); 
    sendIntent.setType("vnd.android.cursor.dir/email"); 

    startActivity(Intent.createChooser(sendIntent,"Email:"));       

}

请帮忙!感谢。

1 个答案:

答案 0 :(得分:1)

对于蓝牙,您可以将类型设置为intent.setType("text/x-vcard");

public void sendByBluetooth(){
    Intent intent = new Intent();  
    intent.setAction(Intent.ACTION_SEND);  
    intent.setType("text/x-vcard");
    intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(storage_path) );  
    startActivity(intent);
}

以及您可以使用的电子邮件

String filelocation="/mnt/sdcard/contacts.vcf";    
Intent emailIntent = new Intent(Intent.ACTION_SEND);
// set the type to 'email'
emailIntent .setType("vnd.android.cursor.dir/email");
String to[] = {"asd@gmail.com"};
emailIntent .putExtra(Intent.EXTRA_EMAIL, to);
// the attachment
emailIntent .putExtra(Intent.EXTRA_STREAM, filelocation);
// the mail subject
emailIntent .putExtra(Intent.EXTRA_SUBJECT, "Subject");
startActivity(Intent.createChooser(emailIntent , "Send email..."));

请注意:The.vcf文件应该在您的SD卡中