Android ClipboardManager复制文本

本文介绍了Android中用于处理剪切板操作的ClipboardManager类,包括API 11之前的使用方式和之后的变化。从API 11开始,ClipboardManager支持复制文本、Uri和Intent等不同类型的数据。详细讲解了如何获取剪贴板管理器、创建不同类型的ClipData、复制和获取数据,以及针对不同数据类型的使用场景,如普通字符串、URL和Intent。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android中有剪切板功能的类是ClipboardManager。但

API 11之前: android.text.ClipboardManager
API 11之后: android.content.ClipboardManager

如下代码示例:

ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
   if (displayContents != null) {
clipboard.setPrimaryClip(ClipData.newPlainText("text", displayContents));    //API 11之后使用该方法

       //API 11 之前为:clipboard.settext(displayContents);
   }

1)概述:

早期版本的Android剪切板只能复制文本(可以为复合文本)信息。在API 11后对ClipboardManager进行了升级,使之可以通过(ClipData)复制文本、Uri和Intent。

2)使用:

(一)获取剪贴板管理器:ClipboardManager mClipboardManager = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);

(二)创建能够存入剪贴板的ClipData对象(ClipData对象中包含一个或多个ClipData.Item对象):

A. 创建普通字符型ClipData:ClipData mClipData = ClipData.newPlainText("Label", "Content");

B. 创建URL型ClipData:ClipData.newRawUri("Label", Uri.parse("http://www.fishme.cn/"));

C. 创建Intent型ClipData:ClipData.newIntent("Label", intent);

注意:上面三种方法只在ClipData对象中创建了一个ClipData.Item对象,如果想向ClipData对象中添加多个Item应该通过ClipData对

象的addItem()方法添加。

(三)将ClipData数据复制到剪贴板:ClipboardManager.setPrimaryClip(ClipData对象);

(四)从剪贴板中获取ClipData数据:ClipboardManager.getPrimaryClip();

(五)解析ClipData中的数据。

3)不同数据类型时的使用:(普通字符串,URL和Intent

(一)普通字符:就是普通字符串的剪切,复制,粘贴。

(二)URL:在复制的时候可以复制一个URL,这个URL可以是请求ContentProvider的URL,在粘贴的时候调用ContntProvider获取数

据,并使用。

(三)Intent:如,在记事本应用中长按某一个记录本条目,这时会创建删除这个记事本的Intent,并添加到剪贴板,当用户将这个记

事本条目拖到垃圾桶松开时,应用会从剪贴板中获取Intent并执行,这个记事本条目就被删除了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值