我正在尝试为手机中的每个联系人获取联系人版本,
但有些联系人会在'kitkat'中返回contact-version null。
private String getContactVersion(String id)
{
Uri uri = ContactsContract.RawContacts.CONTENT_URI;
String[] projection = new String[] { ContactsContract.RawContacts._ID, ContactsContract.RawContacts.VERSION };
String selection = ContactsContract.RawContacts._ID + " = '" + id + "'";
Cursor cursor = context.getContentResolver().query(uri, projection, selection, null, null);
cursor.moveToFirst();
int columnVersion = cursor.getColumnIndex(ContactsContract.RawContacts.VERSION);
String version = cursor.getString(columnVersion);
cursor.close();
return version;
}
答案 0 :(得分:0)
根据官方文件:http://developer.android.com/reference/android/provider/ContactsContract.RawContacts.html
此行或其相关数据更改时更新的版本号。此字段可用于乐观锁定原始联系人。
实际上它可能是null
。 “null”表示联系人未被更改。
此外,“版本”列不是整数。你应该像下面那样得到它
int columnVersion = cursor.getColumnIndex(ContactsContract.RawContacts.VERSION);
String version = cursor.getInt(columnVersion);