2016-12-14 35 views
0

我想要一些照片插入到联系人的帮助,据我所研究,我发现了两种方法,我们可以插入我们的手机中的联系人,一个是开始手机的联系人活动,另一种方法是直接在手机中插入值,我使用第一种方法,我们必须开始意图,当我们开始意图时,我没有得到任何解决方案来添加图像,我有选择添加其他次要详细信息如姓名,工作地点等。第二种方法的问题是,它不让我们知道联系人是否已经添加,这可能会导致错误,它可能会创建重复的联系人。你建议我可以做什么? 我在做什么到现在是通过意图将图像传递到默认联系人活动

 Intent contactIntent = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT,ContactsContract.Contacts.CONTENT_URI); 
      contactIntent.setData(Uri.parse("tel:" +"+91"+mMobile)); 
      contactIntent.putExtra(ContactsContract.Intents.Insert.NAME, name); 
      contactIntent.putExtra(ContactsContract.Intents.Insert.EMAIL, email); 
      contactIntent.putExtra(ContactsContract.Intents.Insert.SECONDARY_PHONE, mobileEx); 
      startActivity(contactIntent); 
+1

尝试通过意图传递图像的URI,而不是它自己 – thepaulo

回答

2

对于通过意图传递轮廓影像联系人编辑屏幕,你可以这样做如下图所示

Intent contactIntent = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT,ContactsContract.Contacts.CONTENT_URI); 
    contactIntent.setData(Uri.parse("tel:" +"+91"+mMobile)); 
    contactIntent.putExtra(ContactsContract.Intents.Insert.NAME, name); 
    contactIntent.putExtra(ContactsContract.Intents.Insert.EMAIL, email); 
    contactIntent.putExtra(ContactsContract.Intents.Insert.SECONDARY_PHONE, mobileEx); 

    Bitmap bit = BitmapFactory.decodeResource(getResources(), R.drawable.profile_image); 

    ArrayList<ContentValues> data = new ArrayList<ContentValues>(); 

    ContentValues row = new ContentValues(); 
    row.put(Data.MIMETYPE, ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE); 
    row.put(ContactsContract.CommonDataKinds.Photo.PHOTO, bitmapToByteArray(bit)); 
    data.add(row); 
    contactIntent.putParcelableArrayListExtra(Insert.DATA, data); 
    startActivity(contactIntent); 

和逻辑转换位图的ByteArray是

private byte[] bitmapToByteArray(Bitmap bit) { 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bit.compress(Bitmap.CompressFormat.PNG, 100, stream); 
    byte[] byteArray = stream.toByteArray(); 
    return byteArray; 
} 
+0

你能给我btimaptobytearray函数吗? –

+0

我已经更新了答案,请检查它 –

+0

嘿,非常感谢你,这个作品! –

相关问题