讀取聯繫人需要獲取權限: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();
}
});
}
}