繁体   English   中英

从Contacts.CONTENT_URI从ContentResolver获取最大_id

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM