package com.example.contentproviderdemo;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
import android.util.Log;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ContentResolver cr=getContentResolver();
Cursor cursor=cr.query(Contacts.CONTENT_URI, new String[]{Contacts._ID,Contacts.DISPLAY_NAME}, null,null, null);
//根据联系人的id查询出联系人的电话号码
if(cursor!=null){
while (cursor.moveToNext()) {
int id =cursor.getInt(cursor.getColumnIndex(Contacts._ID));
Log.i("info", "_id:"+id);
Log.i("info", "name:"+cursor.getString(cursor.getColumnIndex(Contacts.DISPLAY_NAME)));
Cursor cursor2=cr.query(Phone.CONTENT_URI, new String[]{Phone.NUMBER,Phone.TYPE}, Phone.CONTACT_ID+"="+id, null, null);
if(cursor2!=null){
while (cursor2.moveToNext()) {
int type=cursor2.getInt(cursor2.getColumnIndex(Phone.TYPE));
if(type==Phone.TYPE_HOME){
Log.i("info","家庭电话:"+cursor2.getString(cursor2.getColumnIndex(Phone.NUMBER)));
}else if(type==Phone.TYPE_MOBILE){
Log.i("info", "手机:"+cursor2.getString(cursor2.getColumnIndex(Phone.NUMBER)));
}
}
cursor2.close();
}
//根据联系人的id查询出联系人的邮箱
Cursor cursor3=cr.query(Email.CONTENT_URI,
new String[]{Email.DATA,Email.TYPE}, Email.CONTACT_ID+"="+id, null, null);
if(cursor3!=null){
while (cursor3.moveToNext()) {
int type=cursor3.getInt(cursor3.getColumnIndex(Email.DATA));
if(type==Email.TYPE_WORK){
Log.i("info","工作邮箱:"+cursor3.getString(cursor3.getColumnIndex(Email.DATA)));
}
}
cursor3.close();
}
}
cursor.close();
}
}
}
最后还需要在AndroidManifest中加入android.permission.READ_CONTACTS的权限