我需要获取Android设备联系人的ID,名字,姓氏,号码(或数字),电子邮件,网站的列表。我知道通过获取ID可以查询电话号码,这不是什么大问题。但是我不知道如何查询才能正确获取所有这些列。我应该为我的名字需要ContactsContract.CommonDataKinds.StructuredName电子邮件我需要ContactsContract.CommonDataKinds.Email.ADDRESS,id的联系方式和网站ContactsContract.CommonDataKinds.Website.URL。我的代码返回了奇怪的值,例如GIVEN_NAME的单位数字,FAMILY_NAME的null,Email.ADDRESS的联系电话之一。但是我认为问题是查询URI,我应该使用哪一个?ContentResolver cr = getActivity().getContentResolver();String[] projection = new String[] { Contacts._ID, ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, ContactsContract.CommonDataKinds.Website.URL, ContactsContract.CommonDataKinds.Email.ADDRESS};Cursor nameCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection, null, null, null);while (nameCur.moveToNext()) { String given = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME)); String family = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME)); String email = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS)); Integer id= nameCur.getInt(nameCur.getColumnIndex(Contacts._ID)); String website = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.Website.URL));//do some work with strings... }
添加回答
举报
0/150
提交
取消