我正在尝试创建一个程序。还有一个我想问的功能。我有一个按钮和一个textview。我希望当我按下按钮时,我的电话簿会打开,以便我可以选择一个联系电话。完成后,所选联系人号码将显示在文本视图中。目前,我不知道该怎么做。
答案 0 :(得分:2)
Intent intent = new Intent(Intent.ACTION_PICK,Uri.parse("content://contacts/"));
startActivityForResult(intent, 1);
覆盖onActivityResult
方法,使用Cursor
移动到所选联系人并在文本视图中显示
这可能看起来像这样......
if (resultCode == Activity.RESULT_OK)
{
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
c.moveToFirst();
String name;
name = c.getString(c.getColumnIndexOrThrow(People.NAME));
TextView tv;
tv = (TextView)findViewById(R.id.selected_contact_textview);
tv.setText(name);
}
答案 1 :(得分:2)
以下代码显示了一种简单的方法来阅读所有电话号码和姓名:
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
while (phones.moveToNext())
{
String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();