-5

如何在自己的应用中实现联系人?我想,当我点击按钮时,显示我手机中的所有联系人。你能告诉我一些关于它的事情吗?就像你想发送短信一样。单击按钮,选择联系人并发送。

4

2 回答 2

5

首先查询完整的联系人并添加到列表视图并选择联系人,然后搜索查询联系人。

 Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null, null, null);

             phones.moveToFirst();
               for(int i =0;i<phones.getCount();i++)
               {
                  String lookupKey =  phones.getString(phones.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
                 Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey);
}
于 2013-02-13T10:09:27.347 回答
1

你需要starActivityforResult有以下意图

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);

定义一个像 int 这样的常量PICK_CONTACT = 1;

   startActivityForResult(intent, PICK_CONTACT);

并且应该有如下的 onActivityResult 方法。

@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
  super.onActivityResult(reqCode, resultCode, data);

  switch (reqCode) {
    case (PICK_CONTACT) :
      if (resultCode == Activity.RESULT_OK) {
        Uri contactData = data.getData();
        Cursor c =  managedQuery(contactData, null, null, null, null);
        if (c.moveToFirst()) {
          String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
          // TODO Whatever you want to do with the selected contact name.
        }
      }
      break;
  }
}

这是这个how-to-call-android-contacts-list的完整教程

于 2013-02-13T10:09:34.367 回答