SEND_TO_VOICEMAIL의 값을 0에서 1로 수정하려고합니다. 그 반대의 경우도 마찬가지입니다. 이름, 번호, 닉네임, 이메일, ecc와 같은 다른 연락처의 세부 정보를 수정하는 데 성공했지만 SEND_TO_VOICEMAIL을 (를) 변경해야합니다. 내가 2 일 동안 열심히 미쳤어 !! 그게 가능한가? 그것은해야한다!Android 연락처에서 SEND_TO_VOICEMAIL 설정
String rawContactId = "1";
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(
ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(Data.RAW_CONTACT_ID + "=?" , new String[] { rawContactId })
.withValue(ContactsContract.RawContacts.SEND_TO_VOICEMAIL , 1)
.build()
);
try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
e.printStackTrace();
} catch (OperationApplicationException e) {
e.printStackTrace();
}
하지만 로그 캣는 말한다 :
나는 많은 가능성을 시도하지만,이 일을해야 ... 내가 생각하지 ERROR/AndroidRuntime (822) : android.database.sqlite.SQLiteException를 : 그런 열을 : send_to_voicemail :, 컴파일하는 동안 : UPDATE 데이터 SET send_to_voicemail =? 어디서 _id =?
나는 이제 더 이상 무엇을 시도해야할지 모르겠다. 어떤 도움이라도 대단히 감사 할 것입니다. 감사합니다. .
P. 나는 자바에 대한 전문가가 아니다.
감사합니다, 그 답이다! "ContactsContract.Data"를 "ContactsContract.Contacts"로 변경했습니다. – Nifhel
삼성 S3에 문제가 있습니까? – powder366
들어오는 호출에'SEND_TO_VOICEMAIL' 플래그가 작동합니까? 또는 전화가 걸리기 전에 설정을 적용합니까? –