Android4大组件之ContentProvider获取联系人信息

来源:互联网 发布:zuk 系统升级软件 编辑:程序博客网 时间:2024/05/21 08:43

1.添加获取联系人权限
这里写图片描述

2.代码实现

package com.thm.g150820_android_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){    //获取联系人raw_contacts    Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");    Cursor cursor = cr.query(uri,null,null,null,null);    while(cursor.moveToNext()){      int id = cursor.getInt(cursor.getColumnIndex("_id"));      String name = cursor.getString(cursor.getColumnIndex("display_name"));      Log.i("test",id+"  "+name);      //继续获取对应的联系人数据(电话号码)      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 data1 = cursorData.getString(cursorData.getColumnIndex("data1"));        //int type = cursorData.getInt(cursorData.getColumnIndex("mimetype_id"));        String type = cursorData.getString(cursorData.getColumnIndex("mimetype"));        if("vnd.android.cursor.item/phone_v2".equals(type)){          Log.i("test","       "+data1+";"+type);        }      }    }  }}

3.运行结果
这里写图片描述

1 0