获取系统联系人信息
来源:互联网 发布:蓝韵网络 编辑:程序博客网 时间:2024/06/05 05:47
1、权限
<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" />
2、java代码
package com.bruce.testgetcontact;import android.app.Activity;import android.database.Cursor;import android.os.Bundle;import android.provider.ContactsContract;import android.util.Log;import android.view.View;import android.widget.Toast;import java.util.ArrayList;public class MainActivity extends Activity { private String TAG = "tag"; private ArrayList<Contract> mContractList = new ArrayList<Contract>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { testReadAllContacts(); } }); } /* * 读取联系人的信息 */ public void testReadAllContacts() { Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); int contactIdIndex = 0; int nameIndex = 0; if (cursor.getCount() > 0) { contactIdIndex = cursor.getColumnIndex(ContactsContract.Contacts._ID); nameIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); } else { Toast.makeText(this, "联系人为空!", Toast.LENGTH_SHORT).show(); } Contract contract; while (cursor.moveToNext()) { String contactId = cursor.getString(contactIdIndex); String name = cursor.getString(nameIndex); Log.i(TAG, contactId); Log.i(TAG, name); /* * 查找该联系人的phone信息 */ Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, null, null); int phoneIndex = 0;// int phoneName = 0; if (phones.getCount() > 0) { phoneIndex = phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);// phoneName = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); } while (phones.moveToNext()) { String phoneNumber = phones.getString(phoneIndex);// String phoneNames = phones.getString(phoneName); //电话号码 Log.i(TAG, phoneNumber); contract = new Contract(); contract.setName(name); contract.setPhone(phoneNumber); mContractList.add(contract); } /* * 查找该联系人的email信息 */ Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + "=" + contactId, null, null); int emailIndex = 0; if (emails.getCount() > 0) { emailIndex = emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA); } while (emails.moveToNext()) { String email = emails.getString(emailIndex); Log.i(TAG, email); } } } public class Contract { private String name; private String phone; public Contract() { } public Contract(String name, String phone) { this.name = name; this.phone = phone; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }}
0 0
- 获取系统联系人信息
- 获取系统联系人信息
- 获取系统联系人信息
- 获取系统联系人信息
- 获取系统的联系人信息
- Android系统联系人信息获取
- Android系统联系人信息获取
- 关于Android开发获取系统联系人信息
- 使用系统ContentProvider获取联系人信息
- android分页查询获取系统联系人信息
- Android中 获取系统联系人信息
- 获取Android系统的联系人信息
- IOS获取系统通讯录联系人信息
- IOS获取系统通讯录联系人信息
- IOS获取系统通讯录联系人信息
- Android初级教程获取手机系统联系人信息
- IOS获取系统通讯录联系人信息
- iOS 调用系统通讯录 获取联系人信息
- Mybatis(八)-一动态SQL
- Cookie and Session
- s标签不要嵌套s标签
- Linux 线程实现机制分析
- php正则表达式深入
- 获取系统联系人信息
- 第四周项目 求四个数的最大公约数
- 给定两个已排序的表L1和L2 只使用基本的表操作编写计算L1∪L2的过程 并集
- ASP.NET MVC4 身份认证和授权
- 进制的转换
- Linux(centos7)下查看MySQL的安装路径
- hdu4310(贪心)
- 项目中遇到的问题(一)弹出UIAlertController 时出现 Warning: Attempt to present * on * which is already presenting
- 错误票据 蓝桥杯