【问题标题】:how to use the built-in contact manager in my app to view contacts如何使用我的应用程序中的内置联系人管理器查看联系人
【发布时间】:2016-06-29 06:16:49
【问题描述】:

我的意思是我不想创建自己的设计,而是使用看起来干净的联系人管理器的内置设计和视图。

【问题讨论】:

  • 我想这会对你有所帮助:- stackoverflow.com/questions/9955783/…
  • 感谢它运行良好。但 managedQuery 已被弃用。将其替换为光标 c=getContentResolver()。查询(contactsData,null,null,null,null));。现在可以正常使用了。

标签: android contacts


【解决方案1】:

您可以通过以下代码在Button上设置OnClickListener来设置Button点击事件,并使用Intent调用ContactPicker活动:

button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
             Intent intent= new Intent(Intent.ACTION_PICK,  Contacts.CONTENT_URI);

    startActivityForResult(intent, PICK_CONTACT);

        }
    });

并在 onActivityResult() 处理联系人 uri 以加载联系人的详细信息。

@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 Fetch other Contact details as you want to use

    }
  }
  break;
}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 2012-03-12
    相关资源
    最近更新 更多