在android中读取联系人信息的程序,包括读取联系人姓名、联系方式和邮箱等
来源:互联网 发布:免费移动办公软件 编辑:程序博客网 时间:2024/04/30 07:25
1:androidmanifest.xml的内容
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="cn.itcast.contacts"
- android:versionCode="1"
- android:versionName="1.0">
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <uses-library android:name="android.test.runner" />
- <activity android:name=".MainActivity"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- <uses-sdk android:minSdkVersion="8" />
- <uses-permission android:name="android.permission.READ_CONTACTS" />
- <uses-permission android:name="android.permission.WRITE_CONTACTS" />
- <instrumentation android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="cn.itcast.contacts" android:label="Tests for My App" />
- </manifest>
里面重要的是搭建测试环境和添加<uses-permission>,即读取和写入联系人信息的权限
2:读取的主要方法
- /*
- * 读取联系人的信息
- */
- public void testReadAllContacts() {
- Cursor cursor = this.getContext().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);
- }
- while(cursor.moveToNext()) {
- String contactId = cursor.getString(contactIdIndex);
- String name = cursor.getString(nameIndex);
- Log.i(TAG, contactId);
- Log.i(TAG, name);
- /*
- * 查找该联系人的phone信息
- */
- Cursor phones = this.getContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
- null,
- ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,
- null, null);
- int phoneIndex = 0;
- if(phones.getCount() > 0) {
- phoneIndex = phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
- }
- while(phones.moveToNext()) {
- String phoneNumber = phones.getString(phoneIndex);
- Log.i(TAG, phoneNumber);
- }
- /*
- * 查找该联系人的email信息
- */
- Cursor emails = this.getContext().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(phones.moveToNext()) {
- String email = emails.getString(emailIndex);
- Log.i(TAG, email);
- }
- }
- }
3:目前手机中的联系人信息,有两个联系人的信息,如图所示,
这是Hellen的联系信息
这是Mike的联系信息
4:测试结果,在控制台输出的内容为:
可以看到在控制台输出了两个联系人的信息
0 0
- 在android中读取联系人信息的程序,包括读取联系人姓名、联系方式和邮箱等
- 在android中读取联系人信息的程序,包括读取联系人姓名、联系方式和邮箱等
- 在android中读取联系人信息的程序,包括读取联系人姓名、联系方式和邮箱等
- 在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱
- 在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱
- android写入联系人Contacts的信息,包括联系人的姓名,联系方式和邮箱
- android写入联系人Contacts的信息,包括联系人的姓名,联系方式和邮箱
- Android读取联系人信息(姓名,电话,地址,邮箱,生日等)
- android 读取联系人等信息
- android中读取联系人的所有信息
- Android读取联系人的姓名及号码
- Android读取联系人的姓名及电话号码
- 获取联系人的姓名和联系方式,并放到editText中
- Android读取联系人姓名、电话
- Android读取联系人的信息
- Android读取联系人的信息
- 读取手机联系人,复杂(姓名,电话,邮箱)
- Android 在自己的Activity中获取系统中联系人的姓名,电话等信息 .
- Navisphere 6 EMC存储管理页面无法登陆的解决办法
- LeetCode | ZigZag Conversion
- java 队列 LinkedBlockingQueue
- 如何正确删除归档日志
- 最短路径算法——Dijkstra
- 在android中读取联系人信息的程序,包括读取联系人姓名、联系方式和邮箱等
- samba搭建及配置文件
- Memcached缓存
- 在自己强大之前,不要奢望别人主动帮助你
- android写入联系人Contacts的信息,包括联系人的姓名,联系方式和邮箱
- Responder对象
- This message is already in use
- js刷新
- 用python做自动化测试--实现高性能测试工具(2)--优化代码