AndroidContrentProvider 获取系统联系人数据。
2017-07-19 18:40
393 查看
首先,在xml布局中activity_main中写一个按钮,点击按钮进行获取手机系统联系人的数据
接着,在相对应的Activity中,进行相应获取手机系统联系人代码的操作
最后,在AndroidManifest.xml中添加获取手机联系人的权限
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.zking.administrator.g160628_android26_getcontacts.MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="获取手机联系人" android:onClick="getContacts" /> </LinearLayout>
接着,在相对应的Activity中,进行相应获取手机系统联系人代码的操作
package com.zking.administrator.g160628_android26_getcontacts; import android.content.ContentResolver; import android.database.Cursor; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; public class MainActivity extends AppCompatActivity { private ContentResolver cr; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取内容访问者 cr = getContentResolver(); } public void getContacts(View view){ //联系人id与联系人姓名的Uri Uri uri=Uri.parse("content://com.android.contacts/raw_contacts"); Cursor cursor=cr.query(uri,null,null,null,null); while(cursor.moveToNext()){ //联系人id int _id=cursor.getInt(cursor.getColumnIndex("_id")); //联系人姓名 String display_name=cursor.getString(cursor.getColumnIndex("display_name")); Log.i("test",_id+" "+display_name); //联系人各个信息的Uri Uri uriData=Uri.parse("content://com.android.contacts/raw_contacts/"+_id+"/data"); Cursor cursorData=cr.query(uriData,null,null,null,null); while(cursorData.moveToNext()){ //联系人信息类型 String mimetype=cursorData.getString(cursorData.getColumnIndex("mimetype")); //联系人各个信息 String data1=cursorData.getString(cursorData.getColumnIndex("data1")); //如果信息类型为电话号码,则打印出联系人的id,姓名以及电话号码 if("vnd.android.cursor.item/phone_v2".equals(mimetype)){ Log.i("test"," "+mimetype+" "+data1); } } } } }
最后,在AndroidManifest.xml中添加获取手机联系人的权限
<!--获取手机的联系人--> <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
相关文章推荐
- 赵雅智_android系统联系人app分析并获取数据
- Android如何获取系统联系人数据?
- Android ContentProvider+获取系统联系人小Demo
- Android系统联系人数据表以及获取和写入(待写)
- Android:打开系统联系人界面并获取数据
- android:打开系统联系人界面并获取数据
- Android 获取系统联系人并排序
- android调用系统通讯录程序,获取联系人信息
- 无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)
- 11_android系统联系人(更新用户名称为例)介绍ContentProviderOperation的使用
- 向Android系统自带的联系人界面添加数据
- 无法进入系统的三星Android手机恢复联系人、短信数据并重置手机的过程
- Android 获取系统联系人并排序
- android系统联系人获取方法
- Android中 获取系统联系人信息
- android分页查询获取系统联系人信息
- Android 系统重要数据备份: 电话+短信+联系人
- android网络-获取系统所有的LocationProvider名称
- Android 在自己的Activity中获取系统中联系人的姓名,电话等信息 .
- Android获取当前系统正在运行应用及其数据流量