android 查看联系人

本文介绍了一种在Android应用中查询手机内置联系人信息的方法,包括联系人的ID、显示名称和拼音名称等,并通过示例代码展示了如何使用ContentResolver进行查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查找手机中联系人信息及对应的ID号

1.MainActivity

public class MainActivity extends Activity {


public static final String TAG = "MainActivity";
private String[] columns = {Contacts._ID, Contacts.DISPLAY_NAME, Contacts.PHONETIC_NAME};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.result);
tv.setText(getQueryData());

}

private String getQueryData() {
StringBuilder sb = new StringBuilder();
ContentResolver resolver = getContentResolver();
// Cursor cursor = resolver.query(Contacts.CONTENT_URI, columns, null, null, null);
Uri uuu = Uri.parse("content://com.android.contacts/contacts");
Cursor cursor = resolver.query(uuu, columns, null, null, null);
int idIndex = cursor.getColumnIndex(columns[0]);
int displayNameIndex = cursor.getColumnIndex(columns[1]);
int test = cursor.getColumnIndex(columns[2]);
Log.i(TAG, cursor.toString());
for (cursor.moveToFirst(); !cursor.isAfterLast();cursor.moveToNext()) {
int id = cursor.getInt(idIndex);
String displayName = cursor.getString(displayNameIndex);
String number;
if (cursor.getString(test) != null) {
number = cursor.getString(test);
} else {
number = "0000";
}

Log.i(TAG, "------------------");
Log.i(TAG, String.valueOf(idIndex));//0 , 第0列
Log.i(TAG, String.valueOf(id));//数字串
Log.i(TAG, String.valueOf(displayNameIndex));//1 , 第一列
Log.i(TAG, displayName);//姓名
Log.i(TAG, "++++++++++++++++++");
sb.append(id + ": " + displayName + "  " + number + "\n");
}

cursor.close();
return sb.toString();

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值