[英]Get the Max _id from ContentResolver from Contacts.CONTENT_URI
我想要获取联系人中最后添加的联系人,并且要获取我想要拉取联系人的最大_id的信息。 所以这是我要实现的查询:
AppMain.applicationContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
new String[]{
"MAX(" + ContactsContract.Contacts._ID + ") as max_id",
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.HAS_PHONE_NUMBER
},
null, null, null);
但不幸的是,我收到此错误:无效的列MAX(contact_id)作为max_id
我尝试删除“ as max_id”,但没有运气。
是否有人知道如何获取最后添加的联系人或获取联系人的最大_id。
Android的ContentProvider
框架未正式支持此功能,尤其是在Provider设置strictProjectionMap
标志的情况下。
但这应该起作用,它要求所有按contact-id排序的联系人,并将结果限制为1:
Cursor c = cr.query(Contacts.CONTENT_URI, new String[] { Contacts._ID }, null, null, Contacts._ID + "DESC LIMIT 1");
if (c != null && c.moveToNext()) {
Log.d(TAG, "id is: " + c.getLong(0));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.