作者:书友48169582 | 来源:互联网 | 2022-03-17 06:08
网上有很多复制粘贴的文章,只是放到自己的程序中不知道如何处理,现在寻得一可行方法如下:
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 的内容