android实现文本复制到剪切板功能(ClipboardManager)

Android也有剪切板(ClipboardManager),可以复制一些有用的文本到剪贴板,以便用户可以粘贴的地方使用,下面是使用方法
 

注意:导包的时候

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


/** 
* 实现文本复制功能 
* add by wangqianzhou 
* @param content 
*/  
public static void copy(String content, Context context)  
{  
// 得到剪贴板管理器  
ClipboardManager cmb = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);  
cmb.setText(content.trim());  
}  
/** 
* 实现粘贴功能 
* add by wangqianzhou 
* @param context 
* @return 
*/  
public static String paste(Context context)  
{  
// 得到剪贴板管理器  
ClipboardManager cmb = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);  
return cmb.getText().toString().trim();  
}  

首先创建一个ClipboardManager对象cmb并将其与系统剪贴板相关联。之后通过setText(CharSequence text)函数即可将String类型的内容复制到剪贴板。此外ClipboardManager类还提供有abstract CharSequence getText()函数以及abstract boolean hasText(),分别可以获取剪贴板中的字符串内容以及查询剪贴板当前是否保存有内容。ClipboardManager类有两个版本,这里使用的是从API Level 1就开始被支持的仅能保存字符串的剪贴板管理器,自从Android 3.0(API Level 11)起新版本的ClipboardManager类则支持更多功能。详情请参见官方文档。

android2.1之前版本使用如下方法


IClipboard clip = IClipboard.Stub.asInterface(ServiceManager.getService("clipboard")); 
clip.getClipboardText().toString();//获得复制的内容 
clip.setClipboardText(text);//设置Clipboard 的内容