如果应用程序只能处理文本,可用 ClipData.Item.coerceToText() 方法进行转换,就可以从剪贴板上复制非文本数据。
这种方法将把 ClipData.Item 中的数据转换为文本,并且返回一个 CharSequence 对象。ClipData.Item.coerceToText() 的返回值依据 ClipData.Item 中的数据格式来确定。
若 ClipData.Item 是文本(getText() 不为 null),则 coerceToText() 返回文本。
若 ClipData.Item 是一个 UR(IgetUri() 不为 null),则 coerceToText() 会尝试将其视为 Content URI。
如果 ClipData.Item 是一个 Inten(tgetIntent() 不为 null),则 coerceToText() 将其转换为 Intent URI 后返回。该字符串表示形式与 Intent.toUri(URI_INTENT_SCHEME) 的返回值一致。
剪贴板的整体框架如图 1 所示。