读取联系人需要获取权限:android.permission.READ_CONTACTS
android.permission.WRITE_CONTACTS
具体例题如http://yunpan.cn/cZNcQw3cf3Spb 访问密码 9d90————ReadContact文件
public class ReadContactActivity extends Activity
{
/**
Called when the activity is first created. */
@Override
public void onCreate(Bundle
savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout. main );
Button randcontact = (Button)findViewById(R.id. randcontact );
randcontact.setOnClickListener( new OnClickListener()
{
@Override
public void onClick(View
v) {
TextView randTv = (TextView)findViewById(R.id. randtv );
List<String> list = new ArrayList<String>();
//1,查询raw_contact表获取联系人的id
//获取中间人
ContentResolver resolver = getContentResolver();
//获取raw_contacts表的 uri
Uri uri = Uri.parse( "content://com.android.contacts/raw_contacts");
//获取data表的 uri
Uri Datauri = Uri.parse( "content://com.android.contacts/data");
//查询raw_cantact
Cursor cursor = resolver.query(uri, null , null , null, null );
while (cursor.moveToNext()){
String id = cursor.getString(cursor.getColumnIndex("contact_id" ));
Log. v( "5",
id);
//2。获取data表
Cursor Datacursor = resolver.query(Datauri, null , "raw_contact_id=?" , new String[]{id}, null);
while (Datacursor.moveToNext()){
String data1 = Datacursor.getString(Datacursor.getColumnIndex("data1" ));
String DataCursor =
Datacursor.getString(Datacursor.getColumnIndex("mimetype" ));
list.add(data1);
randTv.setText(list.toString());
}
Datacursor.close();
//randTv.setText("----------------------");
}
cursor.close();
}
});
}
}