如何在Android中按下按钮时从电话簿获取联系人

时间:2012-02-04 13:53:36

标签: android

我正在尝试创建一个程序。还有一个我想问的功能。我有一个按钮和一个textview。我希望当我按下按钮时,我的电话簿会打开,以便我可以选择一个联系电话。完成后,所选联系人号码将显示在文本视图中。目前,我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

on onClick调用此..

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();