我正在尝试将联系人添加到电话通讯录中。
我已经成功了:我添加了一个新联系人并为其分配了一个手机号码。
现在我需要将资源目录中的 JPG 添加到联系人作为联系人照片。
我正在寻找教程,但找不到。
我需要定位旧手机,因此我需要使用旧的联系人 API。
有人可以帮忙吗?
ContentValues contact = new ContentValues();
contact.put(People.NAME, "testContact");
Uri insertUri = activity.getContentResolver().insert(People.CONTENT_URI, contact);
Uri phoneUri = Uri.withAppendedPath(insertUri, People.Phones.CONTENT_DIRECTORY);
contact.clear();
contact.put(People.Phones.TYPE, People.TYPE_MOBILE);
contact.put(People.NUMBER, "12128911");
updateUri = activity.getContentResolver().insert(phoneUri, contact);
我使用新的 APi 8+,你也可以使用这个,(为了支持较低版本,在清单文件中使用你想要的 minSDKVersion ..)
我正在做的事情是这样的,(我正在使用 .PNG 格式位图)
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG , 75, stream);
operations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValue(ContactsContract.Data.RAW_CONTACT_ID, 9) // here 9 is _ID where I'm inserting image
.withValue(ContactsContract.Data.IS_SUPER_PRIMARY, 1)
.withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO,stream.toByteArray())
.build());
try {
stream.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)