如何从联系人列表中启用多项选择
Posted
技术标签:
【中文标题】如何从联系人列表中启用多项选择【英文标题】:How to enable multiple selection from contact list 【发布时间】:2020-04-06 00:48:42 【问题描述】:我可以让用户从联系人列表中选择 1 个联系人,它给了我用户的姓名和电话号码,但我需要让用户从同一个联系人列表中选择多个联系人。
这是我的代码。
val intent = Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI)
startActivityForResult(intent, CONTACTS_RESULT_CODE)
OnActivityResult()
if(requestCode == CONTACTS_RESULT_CODE)
var phoneNo: String? = null
var name: String? = null
val uri: Uri = data!!.getData()
val cursor: Cursor = getContentResolver().query(uri, null, null, null, null)
if (cursor.moveToFirst())
val phoneIndex: Int = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)
val nameIndex: Int = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)
phoneNo = cursor.getString(phoneIndex)
name = cursor.getString(nameIndex)
Log.e("onActivityResult()", "$phoneIndex $phoneNo $nameIndex $name")
val invitesModel = InvitesModel()
invitesModel.contactName= name
invitesModel.contactNumber= phoneNo.replace(" ", "")
contactsList?.add(invitesModel)
cursor.close()
【问题讨论】:
【参考方案1】:在 android 中没有使用 Intent 获取多个联系人的官方方法。
实现这一点的唯一两种方法是重复调用单个 phone-picker
直到用户发出信号,他们选择了足够的联系人,或者从用户那里获得 READ_CONTACTS
许可,并在您的自己的应用程序。
话虽如此,我在您的代码中看到您正在尝试实现邀请流程,直到最近才可以使用 Firebase Invites
从 Firebase 轻松获得,但现在不推荐使用 Firebase Dynamic Links
与用例inviting users to your app,请参阅 migration 文档以了解其工作原理。
【讨论】:
以上是关于如何从联系人列表中启用多项选择的主要内容,如果未能解决你的问题,请参考以下文章