更新用のこのコードがあります:
public Boolean update() {
try {
data.put(ContactsContract.Groups.SHOULD_SYNC, true);
ContentResolver cr = ctx.getContentResolver();
Uri uri = ContentUris.withAppendedId(ContactsContract.Groups.CONTENT_URI, Long.parseLong(getId()));
int mid = cr.update(uri, data,_ID+"="+getId(), null);
// notify registered observers that a row was updated
ctx.getContentResolver().notifyChange(
ContactsContract.Groups.CONTENT_URI, null);
if (-1 == mid)
return false;
return true;
} catch (Exception e) {
Log.v(TAG(), e.getMessage(), e);
return false;
}
}
に値がありdata
、再確認しましたが、何らかの理由で値が押し出されています。cur.requery();
私も実行しました
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
EDIT 1 言及すべきことの1つは、使用する必要があることです。
data.put(ContactsContract.Groups.SHOULD_SYNC, 1);
true
ContentValues をチェックすると返されますが、そこの値は受け入れられません。