1.android.text.ClipboardManager
API Level1,没有数据变化的接口,需要模拟实现。该方法实现比较复杂,需要长期启动一个服务,将剪切板的内容与上一次读取的内容比较,如果内容不同,那么认为剪切板数据变化了。。如果此前没有读取过剪切板,默认为空串。主要这个数值最好保存在SD卡上,比如SharedPreference中。存储在静态变量里面,好像有问题。。
读取剪切板内容的方法
private String getClipboardText() {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
String text = "";
try {
if (clipboard != null && clipboard.hasText()) {
CharSequence tmpText = clipboard.getText();
clipboard.setText(tmpText);
if (tmpText != null && tmpText.length() > 0) {
text = tmpText.toString().trim();
}
}
} catch (Exception e) {
e.printStackTrace();
text = "";
}
return text;
}
2. android.content.ClipboardManager
API Level11,继承自android.text.ClipboardManager,有现成的接口可以使用:
addPrimaryClipChangedListener。