如何解决如何将联系人从电话簿导入到我们的应用程序
| 我正在开发android应用程序,每当用户单击该按钮时,它都应该在表格中显示电话簿中的所有联系人。我该如何实现它,任何人都可以帮助我。谢谢解决方法
如果查询ContactsContract.Contacts内容提供者,您将获得带有联系人列表的光标。
,
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
startActivityForResult(intent,1);
在button.setOnClick函数下使用这段代码,您将获得电话簿中所有联系人的显示
,给你一些代码:
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null,null);
while(cursor.moveToNext()){
//get name
int nameFiledColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contact = cursor.getString(nameFiledColumnIndex);
String[] PHONES_PROJECTION = new String[] { \"_id\",\"display_name\",\"data1\",\"data3\"};//
String contactId = cursor.getString(cursor.getColumnIndex(PhoneLookup._ID));
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,PHONES_PROJECTION,ContactsContract.CommonDataKinds.Phone.CONTACT_ID + \"=\" + contactId,null);
//name type ..
while(phone.moveToNext()) {
int i = phone.getInt(0);
String str = phone.getString(1);
str = phone.getString(2);
str = phone.getString(3);
}
phone.close();
//addr
Cursor addrCur = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,new String[]{\"_id\",\"data2\",\"data3\"},null);
while(addrCur.moveToNext()) {
int i = addrCur.getInt(0);
String str = addrCur.getString(1);
str = addrCur.getString(2);
str = addrCur.getString(3);
}
addrCur.close();
//email
Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null);
while(emailCur.moveToNext()) {
int i = emailCur.getInt(0);
String str = emailCur.getString(1);
str = emailCur.getString(2);
str = emailCur.getString(3);
}
emailCur.close();
}
cursor.close();
,您可以在button.setonclicklistener中使用此代码。
意图意图=新意图(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent,PICK_CONTACT);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。