【发布时间】:2018-08-28 06:43:37
【问题描述】:
flag:默认为“0”,如果行不能被修改或删除,则为“1” 除了同步适配器。请参阅 CALLER_IS_SYNCADAPTER。类型:整数 常量值:“is_read_only”
当我在我的代码中应用上述内容时,我得到 -1 作为所有联系人的输出。我正在使用IS_READ_ONLY 来识别在 WhatsApp、PayTM、Duo 等中同步的只读联系人。
Cursor curContacts = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (curContacts != null) {
while (curContacts.moveToNext()) {
int contactsReadOnly = curContacts.getColumnIndex(ContactsContract.Data.IS_READ_ONLY);
Log.d(Config.TAG, String.valueOf(contactsReadOnly));
}
}
输出
-1
-1
-1
也试过下面的行而不是Data.IS_READ_ONLY,但输出是一样的。
int contactsReadOnly = curContacts.getColumnIndex(ContactsContract.RawContacts.RAW_CONTACT_IS_READ_ONLY);
【问题讨论】:
-
您查询的是正确的端点吗?尝试查询
ContactsContract.Data.CONTENT_URI。 -
@MichaelDodd 谢谢。尝试了您的建议,但输出仍然相同。
标签: android android-contentresolver contactscontract android-cursorloader