android示例之取得联系人的信息(姓名、电话)

来源:互联网 发布:nginx 配置域名访问 编辑:程序博客网 时间:2024/05/01 02:31

把取得联系人信息的方法放到工具类中,在activity中使用的时候调用即可。

工具类中:

public static List<ContactsInfo> getAllContacts(Context context){List<ContactsInfo> list=new ArrayList<ContactsInfo>();ContentResolver cr=context.getContentResolver();Cursor cur=cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);if(cur.moveToFirst()){do{//取得联系人的名字,两种方式取得都可以//String name=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));String name=cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));//取得联系人的ID号,也就是联系人在SQLite中的ID号String contactId=cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));int phoneCount=cur.getInt(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.HAS_PHONE_NUMBER));System.out.println(contactId+" 有"+phoneCount+"个电话号码");//以CONTENT_URI方式取得电话号码Cursor phone=cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId, null, null);if(phone.moveToFirst()){do{String phoneNum=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));System.out.println(name+"***"+contactId+"***"+phoneNum);list.add(new ContactsInfo(name,phoneNum));}while(phone.moveToNext());}}while(cur.moveToNext());}return list;}

在Activity中调用工具类的方法:

List<ContactsInfo> list=util.getAllContacts(TestActivity.this);        System.out.println("联系人的数量是:"+list.size());

0 0
原创粉丝点击