Android系統剪貼簿(ClipboardManager)的使用: 通過程式碼複製和貼上資料
阿新 • • 發佈:2019-01-06
1. 概述
操作 Android 系統剪貼簿的類在 android.content
包下(SDK API 11+),主要包含下面三個類:
ClipboardManager
: 表示一個剪貼簿ClipData
: 剪貼簿中儲存的所有剪貼資料集(剪貼簿可同時複製/儲存多條多種資料條目)ClipData.Item
: 剪貼資料集中的一個數據條目
2. 剪貼簿的簡單使用
複製:
// 獲取系統剪貼簿
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
// 建立一個剪貼資料集,包含一個普通文字資料條目(需要複製的資料)
ClipData clipData = ClipData.newPlainText(null, "需要複製的文字資料");
// 把資料集設定(複製)到剪貼簿
clipboard.setPrimaryClip(clipData);
貼上:
// 獲取系統剪貼簿
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
// 獲取剪貼簿的剪貼資料集
ClipData clipData = clipboard.getPrimaryClip();
if (clipData != null && clipData.getItemCount() > 0) {
// 從資料集中獲取(貼上)第一條文字資料
CharSequence text = clipData.getItemAt(0).getText();
System.out.println("text: " + text);
}
3. 剪貼簿的資料改變監聽
// 獲取系統剪貼簿
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
// 新增剪貼簿資料改變監聽器
clipboard.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() {
@Override
public void onPrimaryClipChanged() {
// 剪貼簿中的資料被改變,此方法將被回撥
System.out.println("onPrimaryClipChanged()");
}
});
// 移除指定的剪貼簿資料改變監聽器
// clipboard.removePrimaryClipChangedListener(listener);