ContentProvider实现获取通讯录所有联系人

来源:互联网 发布:ppp项目数据库 编辑:程序博客网 时间:2024/06/06 03:30

package com.ContentProvider.android.test;

import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.TextView;

public class ContentProvider2Activity extends Activity {
    /** Called when the activity is first created. */
 private TextView tv;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        String result=getQueryData();
  tv=(TextView)findViewById(R.id.tv_01);
  tv.setText("ID\t名字\t电话号码\n"+result);
  tv.setTextColor(Color.GREEN);
    }
 private String getQueryData() {
  String result="";
  //定义Uri
  Uri contactUri=ContactsContract.Contacts.CONTENT_URI;
  //获取ContentResolver对象
  ContentResolver resolver=getContentResolver();
  //获取联系人信息
  Cursor cursor=resolver.query(contactUri, null, null, null, null);
  if(cursor.moveToFirst()){
   int id=cursor.getColumnIndex(ContactsContract.Contacts._ID);
   int name=cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
   int tel=cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
   do{
    String user_id=cursor.getString(id);
    String user_name=cursor.getString(name);
    result=result+user_id+"\t";
    result=result+user_name+"\t";
    if(tel>0){
     Cursor cursor1=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + user_id, null, null);
     if(cursor1.moveToFirst()){
      do{
       String telNumber=cursor1.getString(cursor1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
       result=result+telNumber+"\t\n";
      }while(cursor1.moveToNext());
     }
    }
   }while(cursor.moveToNext());
  }
  return result;
 }
 
}