0
연락처 이름을 프로그래밍 방식으로 변경하려고합니다 (contactId 기준). 나는 여기에 비슷한 질문 &로보고 다음과 같은 노력했습니다 : 그것은 작동하지 않습니다 일부 장치 만 (이러한 LG의 G3 등의) 다른에서 일하고연락처 이름을 프로그래밍 방식으로 변경하십시오.
public static boolean updateContactName(Context context, long contactId, String newName) {
try {
ContentResolver contentResolver = context.getContentResolver();
ArrayList<android.content.ContentProviderOperation> ops = new ArrayList<>();
ops.add(android.content.ContentProviderOperation.newUpdate(android.provider.ContactsContract.Data.CONTENT_URI)
.withSelection(ContactsContract.CommonDataKinds.Phone._ID + "=? AND " +
Data.MIMETYPE + "='" +
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "'",
new String[]{Long.toString(contactId)})
.withValue(CommonDataKinds.StructuredName.DISPLAY_NAME, newName)
.build());
contentResolver.applyBatch(ContactsContract.AUTHORITY, ops);
return true;
} catch (Exception e) {
CLog.d(ContactUtils.class, e);
return false;
}
}
, 아무것도 존재하지 않습니다 업데이 트를.
도움 주셔서 감사합니다.
은 동일한 코드이다. – motis10
같은 코드입니다. lg g3에서 작업하지 않음 –
오류 로그를 확인 했습니까? – AndroSco