Kar*_*k s 18 android android-contacts
我需要在android中选择电话簿中的联系电话/电子邮件.
我已经看到选择一个联系人并onActivityResult从此链接获取结果.
但我需要从电话簿中选择多个联系人.怎么做到这一点?
我不想制作我的自定义列表,有没有办法使用内置功能的机器人?
似乎没有这样的“官方”方式。您的问题与How to select multiple contact with Android SDK基本相同,其中参考了自定义实现。
如果您检查 AOSP Contacts 应用程序,文档中也不存在这种可能性。我从 AOSP Contacts 的来源中观察到的唯一一件事是以下提及(在com.android.contacts.activities.PeopleActivity中):
// TODO fix or remove multipicker code
// else if (resultCode == RESULT_CANCELED && mMode == MODE_PICK_MULTIPLE_PHONES) {
Run Code Online (Sandbox Code Playgroud)
从MMS 应用程序源代码中,您可以观察到以下内容(在ComposeMessageActivity中):
private void launchMultiplePhonePicker() {
Intent intent = new Intent(Intents.ACTION_GET_MULTIPLE_PHONES);
intent.addCategory("android.intent.category.DEFAULT");
intent.setType(Phone.CONTENT_TYPE);
// We have to wait for the constructing complete.
ContactList contacts = mRecipientsEditor.constructContactsFromInput(true);
int urisCount = 0;
Uri[] uris = new Uri[contacts.size()];
urisCount = 0;
for (Contact contact : contacts) {
if (Contact.CONTACT_METHOD_TYPE_PHONE == contact.getContactMethodType()) {
uris[urisCount++] = contact.getPhoneUri();
}
}
if (urisCount > 0) {
intent.putExtra(Intents.EXTRA_PHONE_URIS, uris);
}
startActivityForResult(intent, REQUEST_CODE_PICK);
}
Run Code Online (Sandbox Code Playgroud)
该字段在ContactsContract.javaIntents.ACTION_GET_MULTIPLE_PHONES中可用,但我无法在 AOSP 中找到它的任何用法。所以,我认为这是一些死代码,或者是在一些封闭代码中处理的操作。我尝试以相同的方式从测试应用程序启动联系人选择,但只得到了关于没有应用程序来处理该操作的异常。
当然,供应商的联系人应用程序提供了此类功能(例如选择消息收件人),但最好不要依赖它们。
| 归档时间: |
|
| 查看次数: |
20525 次 |
| 最近记录: |