我在尝试修改的值SEND_TO_VOICEMAIL从0到1,反之亦然。 我成功修改了其他联系人的详细信息,例如姓名,电话号码,昵称,电子邮件地址等等,但我需要更改SEND_TO_VOICEMAIL。这是2(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();
}
但logcat的说: ERROR/AndroidRuntime(822):android.database.sqlite.SQLiteException:没有这样的列:send_to_voicemail:,编译时:UPDATE数据SET send_to_voicemail =? WHERE _id =?
我真的不知道该怎么尝试了。任何帮助将非常感激。 谢谢。
P.S. 我并不是java上的大师
谢谢你,这就是答案!我刚刚将“ContactsContract.Data”更改为“ContactsContract.Contacts”。 – Nifhel
我在三星S3上有问题,有人吗? – powder366
将SEND_TO_VOICEMAIL标志用于传入呼叫吗?或者在来电前进行工作设置? –