和Windows一样,Android也同样支持复制一段文本、一个对象、一组数据到系统的剪切板。
android中使用ClipboardManager来管理剪切板的内容。
API 11之前: android.text.ClipboardManager
API 11之后: android.content.ClipboardManager
1.获取ClipboardManager对象
通过Context.getSystemService(Context.CLIPBOARD_SERVICE);
2.通过ClipData创建复制数据
ClipData可以创建很多类型的复制数据:
创建文本类型的复制数据。数据是文字text,描述是label:
ClipData.newPlainText(CharSequence label, CharSequence text)
创建一个包含 htmlText 的 ClipData,一般在浏览器中对网页进行拷贝的时候会调用此方法,其中 htmlText 是包含 HTML 标签的字符串:
ClipData.newHtmlText(CharSequence label,CharSequence text, String htmlText)
创建一个包含 Intent 的 ClipData:
ClipData.newIntent(CharSequence label, Intent intent)
创建一个包含 Uri 的 ClipData,MimeType 会根据 Uri 进行修改
ClipData.newUri(ContentResolver resolver, CharSequence label, Uri uri)
与 newUri 相对应,但是并不会根据 Uri 修改 MimeType
ClipData newRawUri(CharSequence label, Uri uri)