android 复制 粘贴 剪切功能应用

时间:2022-04-10 07:44:54

网上有很多复制粘贴的文章,只是放到自己的程序中不知道如何处理,现在寻得一可行方法如下:
Android的剪切板(ClipboardManager)
注意:导包的时候
API 11之前: android.text.ClipboardManager
API 11之后: android.content.ClipboardManager

复制代码 代码如下:


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

 

复制代码 代码如下:


/**
* 实现粘贴功能
*
* @param context
* @return
*/
public static String paste(Context context) {
// 得到剪贴板管理器
ClipboardManager cmb = (ClipboardManager) context
.getSystemService(Context.CLIPBOARD_SERVICE);
return cmb.getText().toString().trim();
}


网上很多文章都是这么写的:
第一种:

复制代码 代码如下:


private void emulateShiftHeld(KeyEvent.Callback view) {
try{
KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
shiftPressEvent.dispatch(view);
} catch (Exception e) {
}
}


第二种:
android2.1之后版本
其一:(已运行成功)

复制代码 代码如下:


ClipboardManager clip = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
clip.getText(); // 粘贴
clip.setText(str); // 复制


其二:

复制代码 代码如下:


ClipboardManager c= (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
c.setText(smsContent.getText());//设置Clipboard 的内容
c.getText(smsContent.getText());//提取clipboard的内容


android2.1之前版本

复制代码 代码如下:


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