我正在制作一个访问手机联系人并显示它们的应用程序,但我想按类型显示它们,无论是人、工作、家庭、工作传真等。
通过这种方式,我得到了所有它们并且它工作得很好,但问题是我还没有找到一种方法来为上述类型获取它们。
在这里我留下我所做的代码,非常感谢
TextView contactos_home = (TextView) findViewById(R.id.contactos_home);
Cursor cursor = getContentResolver().query( ContactsContract.Data.CONTENT_URI, new String[] {ContactsContract.Data.DISPLAY_NAME}, null, null, null);
while (cursor.moveToNext()){
String contactos = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
contactos_home.append(contactos);
contactos_home.append("\n");
}
第三个属性允许过滤。通过用逗号分隔项目可以添加多个排序项目。这是一个例子:
您应该将示例中的属性更改为您的属性。
最后一个参数是排序(sortOrder),基于它您可以获得联系人,例如,如果您想要按人名定义排序,
ContactsContract.Data.DISPLAY_NAME
第二个参数很重要:要获得特定数据,您必须查看表格并根据要对结果排序的数据进行定义:
回答我的问题。
在这里,我将表格与主要联系人类型的常数一起保留
要获得特定类型,您只需更改变量中的比较 (selectClause) (ContactsContract.CommonDataKinds.Phone.TYPE + "=' 2 ')