Android 数据库 ContentResolve getContactCount查询本地联系人总数的方法

it2023-05-31  66

维护老项目的时候 领导让重构项目 数据库这块就很头疼 但也得做啊

查了很多资料 获取本地联系人的方法也有很多 总结一下 我自己觉得挺好用的方法 废话不多说

 

/** * 获取联系人总数 * * @param context 上下文 * @return 数量 */ public static int getContactCount(Context context) { long currentTimeMillis = System.currentTimeMillis(); String[] projection = new String[]{ ContactsContract.Contacts._ID, }; ContentResolver cr = context.getContentResolver(); try (Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, projection, null, null, "key")) { if (cursor != null) { return cursor.getCount(); } } catch (Exception e) { e.printStackTrace(); } finally { Log.d(TAG, "获取联系人总数耗时: " + (System.currentTimeMillis() - currentTimeMillis)); } return 0; }

注意:查总数的时候projection是 ContactsContract.Contacts._ID 这样查出来不会重复

最新回复(0)