2

我想打电话给电话簿让用户选择一个(或多个可选)电话号码(我只需要电话号码而不是整个联系人信息,因为我想让用户自己跳过写号码而选择一个)。这是我到目前为止发现的:

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,  
                    ContactsContract.Contacts.CONTENT_URI);  
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);

这会返回我一个选定的联系人,但它可能没有或有很多电话号码(我不需要全部。我只需要一个。我可以让用户使用 ListView 或 Spinner 选择它,但我相信一定有一些API 因为我手机上的消息应用程序有这样的选择器(嗯,可能更舒服,但我认为它是一个 API,而不是消息应用程序)。

4

1 回答 1

0

这可以使用 API 实现,请参阅: https ://developer.android.com/guide/components/intents-common.html#Contacts

要让用户从联系人中选择特定信息,例如电话号码、电子邮件地址或其他数据类型,请使用 ACTION_PICK 操作并将 MIME 类型指定为下面列出的内容类型之一,例如 CommonDataKinds。 Phone.CONTENT_TYPE 获取联系人的电话号码。

他们的示例意图的片段:

    Intent intent = new Intent(Intent.ACTION_PICK);
    intent.setType(CommonDataKinds.Phone.CONTENT_TYPE);
    startActivityForResult(intent, REQUEST_SELECT_PHONE_NUMBER);

您可以在上面链接的文档中看到他们如何处理结果。

于 2017-08-06T13:20:58.170 回答