如何通过编程获得联系人ID的最大值?

时间:2016-12-27 06:00:14

标签: android android-contacts

我想在我的SQLite中插入一个带有新联系人ID的新电话号码。我需要知道联系人中的最大联系人ID,忽略保存相同的联系人ID。是否可以知道Android中的最大联系人ID?谢谢

1 个答案:

答案 0 :(得分:2)

从联系人表中,您可以通过查询获取最后一个联系人ID,如下所示

    final String sortOrder = ContactsContract.Contacts._ID+" DESC LIMIT 1";
            Cursor lcursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,new String[] {ContactsContract.Contacts._ID,ContactsContract.Contacts.DISPLAY_NAME},null,null,sortOrder);
            if (lcursor != null &&  lcursor.moveToFirst()) {
                long id = lcursor.getLong(lcursor.getColumnIndex(ContactsContract.Contacts._ID));
                String displayName = lcursor.getString(lcursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            }

Cursor只返回一个条目,该条目将是联系人表格中的最后一个contact_id

注意:这不应该在主线程上完成,因为如果设备联系人是1000多个联系人可能需要花费太多时间,所以请务必小心查询具有大条目的数据库

享受编码! :)