1. 程式人生 > >Android系統剪貼簿(ClipboardManager)的使用: 通過程式碼複製和貼上資料

Android系統剪貼簿(ClipboardManager)的使用: 通過程式碼複製和貼上資料

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);