ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
ClipboardService(简称CBS,下同)是Android系统中的元老级服务了,自Android 1.0起就支持剪贴功能。在Android 4.0中再遇见它时,此功能已有了长足改进。先来看和剪贴功能有关的类的家族图谱,如图3-4所示。 :-: ![](http://img.blog.csdn.net/20150803105144929?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 图3-4 和剪贴服务有关的类 由图3-4可知: - 在Android 4.0中,源码中的content.ClipboardManager类继承了text.ClipboardManager类。从text.ClipboardManager类的命名中也可看出,早期的剪贴功能只支持文本。ClipboardManager由剪贴板服务的客户端使用,在SDK中有相应文档说明。 - 新增一个ClipData类,它就像一个容器,管理存储在其中的数据信息。具体的数据信息存储在ClipData的成员变量mItems中。该变量是一个Item类型的数组,每一个Item代表一项数据。 - ClipDescription类用来描述一个ClipData中的数据类型。目前,Android系统中的剪贴板支持3种类型的数据(Text、Intent、以及URL列表)。 - 剪贴板的服务端由ClipboardService实现。 下边我们通过一个例子来分析CBS。该例子来源于AndroidSDK提供的一段示例代码(取自SDK安装目录/sample/android-14/NotePad)。