一条信息可以发送给1到多个目标用户——它们被称为“接收者”,以电话号码、E-Mail地址等形式存在。“接收者”通常是从“联系人应用”中选择或由用户直接输入。
在Messaging应用中,用于输入接收者的控件有独立实现——RecipientsEditor,它继承自MultiAutoCompleteTextView,我们知道AutoCompleteTextView组件提供了输入时推荐可选项的功能,而Multi...则意为着可输入多个项目(各项目间以逗号分隔),并分别推荐可选项。
推荐选项的数据源来自RecipientsAdapter适配器,它从ContactsProvider中读取MOBILE,WORK_MOBILE,MMS三种类型的电话号码作为推荐选项,在用户输入时自动匹配并推荐。
说起接收者我们就不得不讨论Contact(代表接收者)、ContactList(代表接收者列表)两个重要的类,他们提供了常用的组织联系人基本信息的方法,非常易于使用,同时它们也涉及到Cache缓存系统。