簡體   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