我想帮助将照片插入联系人,据我所研究,我发现有两种方法可以在手机中插入联系人,一种是启动手机的联系人活动,另一种是插入值直接在手机中,我使用第一种方法,我们必须启动意图,当我们开始意图我没有得到任何解决方案添加图像,我有选项添加其他小细节,如姓名,工作地点等第二种方法的问题在于,它不会让我们知道联系人是否已经添加,这可能会导致错误,它可能会创建重复的联系人。你有什么建议我可以做的? 我到现在为止做的是
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);
答案 0 :(得分:2)
要通过联系人编辑器屏幕的意图传递个人资料图像,您可以执行如下所示的操作
Receive(ref IPEndPoint)
将位图转换为byteArray的逻辑是
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);