读取联系人需要获取权限: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();
}
});
}
}