我想拨打电话簿让用户选择一个(或多个可选的)电话号码(我只需要电话号码,而不是整个联系人信息,因为我想让用户自己跳过编号并选择一个代替)。这是我到目前为止所发现的:
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);
这会给我一个选中的联系人,但它可能没有或多个电话号码(我不需要全部。我只需要一个。我可以让用户使用ListView或Spinner选择它但我相信那里必须是一些API,因为我的手机上的消息应用程序有这样的选择器(好吧,可能会更舒服,但我认为它是一个API,而不是消息应用程序)。
答案 0 :(得分:0)
使用API可以实现,请参阅: https://developer.android.com/guide/components/intents-common.html#Contacts
让用户从a中选择一条特定的信息 联系人,例如电话号码,电子邮件地址或其他数据类型, 使用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);
您可以看到他们如何处理上面链接的文档中的结果。