如何让群组ID知道联系人的号码
我想它必须是这个内部的另一个查询,但我不知道该怎么做
我在这里尝试过:
String[] projection = new String[]{ ContactsContract.Groups._ID };
Cursor cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection,
ContactsContract.CommonDataKinds.Phone.NUMBER +" = "+ number,
null,
null);
cursor.moveToNext();
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Groups._ID));
(查询不返回任何内容)
感谢您的帮助!
答案 0 :(得分:3)
您的查询不返回任何内容,因为数据集Groups._ID
中没有此类列CommonDataKinds.Phone
。
尝试这样的事情:
String sPhoneNumber = "+48123456789";
Cursor cursor = getApplicationContext().getContentResolver().query(
Data.CONTENT_URI, new String[] {CommonDataKinds.GroupMembership._ID},
ContactsContract.CommonDataKinds.Phone.NUMBER+"='"+sPhoneNumber+"'", null, null);
其中sPhoneNumber
是具有所需电话号码的字符串。请记住,您的光标可能仍会返回0,具体取决于:
+49123456789
的联系人
像这样+49 123 456 789
。空白正在完全实现这一点
不同的String
。 此外,光标仍然可以返回更多结果,主要是在您的联系人属于多个组的情况下。