【问题标题】:How to use intent.ACTION_PICK to open the system contacts and pick some contacts, but not just pick one?如何使用intent.ACTION_PICK打开系统联系人并选择一些联系人,而不是只选择一个?
【发布时间】:2013-11-21 07:09:08
【问题描述】:

我的代码:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
intent.setData(ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, REQUEST_CONTACT);

这将打开系统联系人,但我只能选择一个联系人。我想以这样一种方式打开它,以便我可以选择任意数量的物品并返回。

谢谢!

【问题讨论】:

    标签: java android


    【解决方案1】:

    您将无法使用 ACTION_PICK 意图选项来执行此操作。要实现这一点,您需要使用自定义 ListView,其中包含从对联系人内容提供程序的查询生成的联系人。

    如果您想使用 Intent.ACTION_PICK 意图,您需要告诉用户一次选择一个。

    还有

    使用自定义 ListView 有多种方法可以做到这一点。旧方法(与大多数手机兼容)解释起来有点冗长,但幸运的是,这里有一个很好的教程,准确描述了您要查找的内容(自定义 ListView 中带有复选框的联系人列表)。

    对于 API 5 及更高版本,有一个 ContactsContract 类可以帮助获取联系人列表。有关如何使用它的示例代码,请查看 android 的 ContactManager 示例应用程序,特别是 ContactManager 类和 populateContactList() 方法。

    希望对你有帮助

    【讨论】:

    • 多谢回复,解决办法就是写个自定义的listview哦!
    【解决方案2】:

    您将无法使用 ACTION_PICK 意图选项执行此操作。这是查询的解决方案:https://stackoverflow.com/a/7856444840/14765699

    【讨论】:

    • 现在可以打开了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    相关资源
    最近更新 更多