android 怎么获取手机联系人csdn

如上面所说

可以参考如下信息,读取手机联系人,不过事先需要权限:
/*
* 读取联系人的信息
*/
public void testReadAllContacts() {
Cursor cursor = this.getContext().getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
int contactIdIndex = 0;
int nameIndex = 0;

if(cursor.getCount() > 0) {
contactIdIndex = cursor.getColumnIndex(ContactsContract.Contacts._ID);
nameIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
}
while(cursor.moveToNext()) {
String contactId = cursor.getString(contactIdIndex);
String name = cursor.getString(nameIndex);
Log.i(TAG, contactId);
Log.i(TAG, name);

/*
* 查找该联系人的phone信息
*/
Cursor phones = this.getContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,
null, null);
int phoneIndex = 0;
if(phones.getCount() > 0) {
phoneIndex = phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
}
while(phones.moveToNext()) {
String phoneNumber = phones.getString(phoneIndex);
Log.i(TAG, phoneNumber);
}

/*
* 查找该联系人的email信息
*/
Cursor emails = this.getContext().getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + "=" + contactId,
null, null);
int emailIndex = 0;
if(emails.getCount() > 0) {
emailIndex = emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA);
}
while(emails.moveToNext()) {
String email = emails.getString(emailIndex);
Log.i(TAG, email);
}

}
}
温馨提示:答案为网友推荐,仅供参考
android微信分享的链接怎么启动app-CSDN论坛
1、eclipse编译使用的Custom keystore处, 修改为自己的keystore 路径 (非默认的debug keystore)2、在微信开放平台官网注册你的应用,提交审核,注意 要填入你的keystore 产生的 签名,(此签名获取方法:用 自己的keystore 签名你的应用,装入手机,再安装 官网的 genSignature.apk,运行,输入你的应用的 包名,就会生成 相应的 签名)3、用官网分配的appID进行开...

...Denial: reading com.android.providers.media.MediaProvider_百度...
final private int REQUEST_CODE_ASK_PERMISSIONS = 123;if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {int hasWriteContactsPermission = checkSelfPermission(Manifest.permission.READ_CONTACTS);if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED){requ...

相似回答