Android 複製常值內容到系統剪貼簿(自由複製)

來源:互聯網
上載者:User

標籤:gets   content   nts   board   under   water   new   add   ble   

直接上代碼:(對應的類:android.content.ClipboardManager)

                //擷取剪貼簿管理器:                ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);                // 建立一般字元型ClipData                ClipData mClipData = ClipData.newPlainText("Label", "這裡是要複製的文字");                // 將ClipData內容放到系統剪貼簿裡。                cm.setPrimaryClip(mClipData);

上面的代碼就可以將文字放到剪貼簿了,然後找個輸入框“粘貼”就行啦~

 

ps:API 11之前,複製到系統剪貼簿是cm.setText(“複製的文字”);但這句已經失效了,在API11後對,對ClipboardManager進行了升級,改成cm.setPrimaryClip(mClipData),使之可以通過(ClipData)複製文本、Uri和Intent。正如上面樣本;

 

***********************************************************************

如需自由複製TextView等控制項的文字,只是要在該控制項上加上這句就好了android:textIsSelectable="true",或者java代碼加 setTextIsSelectable(true);效果


 

************************************************************************

下面詳細介紹下:

(1)擷取剪貼簿管理器:

ClipboardManager mClipboardManager =(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);

(2)建立能夠存入剪貼簿的ClipData對象(ClipData對象中包含一個或多個ClipData.Item對象):
  A. 建立一般字元型ClipData:

       ClipData mClipData =ClipData.newPlainText("Label", "Content");         //‘Label’這是任意文字標籤

 B. 建立URL型ClipData:

       ClipData.newRawUri("Label",Uri.parse("http://www.baidu.com"));

 C. 建立Intent型ClipData:

注意:上面三種方法只在ClipData對象中建立了一個ClipData.Item對象,如果想向ClipData對象中添加多個Item應該通過ClipData對象的addItem()方法添加。

(3)將ClipData資料複製到剪貼簿:

ClipboardManager.setPrimaryClip(ClipData對象);  

(4)從剪貼簿中擷取ClipData資料:

ClipboardManager.getPrimaryClip();  

ps:一般字元串,URL和Intent三種資料使用方式:
(1)一般字元:就是一般字元串的剪下,複製,粘貼。
(2)URL:在複製的時候可以複製一個URL,這個URL可以是請求ContentProvider的URL,在粘貼的時候調用ContntProvider擷取資料,並使用。
(3)Intent:如,在記事本應用中長按某一個記錄本條目,這時會建立刪除這個記事本的Intent,並添加到剪貼簿,當使用者將這個記事本條目拖到垃圾桶鬆開時,應用會從剪貼簿中擷取Intent並執行,這個記事本條目就被刪除了。

Android 複製常值內容到系統剪貼簿(自由複製)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.