0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS應(yīng)用開發(fā)案例 剪貼板功能實(shí)現(xiàn)

鴻蒙時(shí)代 ? 來源:鴻蒙時(shí)代 ? 作者:鴻蒙時(shí)代 ? 2022-03-30 10:41 ? 次閱讀

粘貼版是一個(gè)常用的功能,用戶通過系統(tǒng)剪貼板服務(wù),可實(shí)現(xiàn)應(yīng)用之間的簡(jiǎn)單數(shù)據(jù)傳遞。例如:在應(yīng)用A中復(fù)制的數(shù)據(jù),可以在應(yīng)用B中粘貼,反之亦可。
效果如圖:

poYBAGJDwwKACL_MAACy1XH3rks289.png

關(guān)鍵代碼如下:

public class PasteboardUtils {

    private static final HiLogLabel TAG = new HiLogLabel(HiLog.LOG_APP,0x0,"蛟龍騰飛--粘貼版");

    private SystemPasteboard pasteboard;

    public PasteboardUtils(Context context) {
        initPasteboard(context);
    }
    // 復(fù)制到粘貼板
    public void copyText(String text) {
        pasteboard.setPasteData(PasteData.creatPlainTextData(text));
    }

    // 粘貼
    public String pasteText() {
        String result = "";
        PasteData pasteData = pasteboard.getPasteData();
        if (pasteData == null) {
            return result;
        }
        PasteData.DataProperty dataProperty = pasteData.getProperty();
        boolean hasHtml = dataProperty.hasMimeType(PasteData.MIMETYPE_TEXT_HTML);
        boolean hasText = dataProperty.hasMimeType(PasteData.MIMETYPE_TEXT_PLAIN);
        if (hasHtml || hasText) {
            for (int i = 0; i < pasteData.getRecordCount(); i++) {
                PasteData.Record record = pasteData.getRecordAt(i);
                String mimeType = record.getMimeType();
                if (mimeType.equals(PasteData.MIMETYPE_TEXT_HTML)) {
                    result = record.getHtmlText();
                } else if (mimeType.equals(PasteData.MIMETYPE_TEXT_PLAIN)) {
                    result = record.getPlainText().toString();
                } else {
                    HiLog.info(TAG, "%{public}s", "getPasteData mimeType :" + mimeType);
                }
            }
        }
        return result;
    }

    //   監(jiān)聽粘貼版內(nèi)容
    private final IPasteDataChangedListener listener = new IPasteDataChangedListener() {

        @Override
        public void onChanged() {
            PasteData pasteData = pasteboard.getPasteData();
            if (pasteData != null) {
                HiLog.info(TAG,"粘貼版內(nèi)容改變:"+pasteData);
            }
        }
    };

    //  清空粘貼板
    public void clearPasteboard(Component component) {
        if (pasteboard != null) {
            pasteboard.clear();
        }
    }

    //初始化
    private void initPasteboard(Context context) {
        pasteboard = SystemPasteboard.getSystemPasteboard(context);
        pasteboard.addPasteDataChangedListener(listener);
    }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1966

    瀏覽量

    29962
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3641

    瀏覽量

    16065
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙OS 剪貼板開發(fā)指導(dǎo)

    場(chǎng)景介紹 同一設(shè)備的應(yīng)用程序 A、B 之間可以借助系統(tǒng)剪貼板服務(wù)完成簡(jiǎn)單數(shù)據(jù)的傳遞,即應(yīng)用程序 A 向剪貼板服務(wù)寫入數(shù)據(jù)后,應(yīng)用程序 B 可以從中讀取出數(shù)據(jù)。在滿足分布式剪貼板服務(wù)的使用條件
    的頭像 發(fā)表于 01-31 15:46 ?896次閱讀
    鴻蒙OS <b class='flag-5'>剪貼板</b><b class='flag-5'>開發(fā)</b>指導(dǎo)

    求助labview實(shí)現(xiàn)“選擇性粘貼”的方法

    目前手上有個(gè)應(yīng)用程序,生成的數(shù)據(jù)可以復(fù)制到剪貼板中,在Excel中選擇“選擇性粘貼”-》“粘貼鏈接”功能后,excel中顯示的數(shù)據(jù)是前面那個(gè)軟件的實(shí)時(shí)數(shù)據(jù)?,F(xiàn)在我想把這個(gè)功能在labview里
    發(fā)表于 01-12 11:43

    labview利用調(diào)用節(jié)點(diǎn)從剪貼板獲取圖像生成EXE文件無法使用

    labview利用調(diào)用節(jié)點(diǎn)從剪貼板獲取圖像生成EXE文件時(shí)無法使用,這是什么原因呢,怎么改呢
    發(fā)表于 06-06 22:17

    十萬火急,為何生成exe后方法節(jié)點(diǎn)沒有數(shù)據(jù)輸出,求大神相助

    大神們好,請(qǐng)教一下為什么這個(gè)程序在vi中運(yùn)行可以讀取到剪貼板的數(shù)據(jù),但生成exe后讀取不到剪貼板的數(shù)據(jù),數(shù)據(jù)顯示為空白的。
    發(fā)表于 09-02 15:15

    HarmonyOS應(yīng)用開發(fā)-剪貼板功能實(shí)現(xiàn)

    粘貼版是一個(gè)常用的功能,用戶通過系統(tǒng)剪貼板服務(wù),可實(shí)現(xiàn)應(yīng)用之間的簡(jiǎn)單數(shù)據(jù)傳遞。例如:在應(yīng)用A中復(fù)制的數(shù)據(jù),可以在應(yīng)用B中粘貼,反之亦可。效果如圖: 關(guān)鍵代碼如下:public class
    發(fā)表于 03-30 10:48

    OpenHarmony 3.1 Release最全資料免費(fèi)獲取

    對(duì)靜態(tài)壁紙管理能力的支持  - 新增對(duì)下載服務(wù)管理能力的支持  主要涉及如下需求:  I4U2WR 新增特性:時(shí)間時(shí)區(qū)同步管理  I4ZTTE【新增特性】剪貼板數(shù)據(jù)項(xiàng)-支持將剪貼板數(shù)據(jù)項(xiàng)強(qiáng)制轉(zhuǎn)換為文本
    發(fā)表于 03-31 14:23

    JAVA教程之使用剪貼板的復(fù)制粘貼程序

    JAVA教程之使用剪貼板的復(fù)制粘貼程序,很好的學(xué)習(xí)資料。
    發(fā)表于 03-31 11:13 ?5次下載

    Delphi教程之監(jiān)視剪貼板

    Delphi教程之監(jiān)視剪貼板,很好的Delphi資料,快來下載吧。
    發(fā)表于 04-11 16:09 ?9次下載

    小米手機(jī)和PC的共享剪貼板上線,PC端裝云服務(wù)客戶端就OK

    劉鳴稱:“看到有用戶在要共享剪貼板,其實(shí)我們已經(jīng)支持了,只需要電腦端裝小米云服務(wù)客戶端就可以了。”
    的頭像 發(fā)表于 11-24 09:09 ?7566次閱讀

    蘋果iOS應(yīng)用程序不經(jīng)過用戶同意讀取剪貼板數(shù)據(jù)

    據(jù)Macrumors報(bào)道,最新研究顯示數(shù)十種流行的iOS應(yīng)用程序,在未經(jīng)用戶同意的情況下,讀取剪貼板的內(nèi)容,其中可能包含敏感信息。
    的頭像 發(fā)表于 03-16 09:19 ?2800次閱讀

    iOS 14的隱私功能顯示了復(fù)制到剪貼板的TikTok閱讀文本

    開發(fā)人員開始下載并使用iOS 14 beta版,他們發(fā)現(xiàn)流行的視頻共享平臺(tái)TikTok是讀取用戶復(fù)制到剪貼板的文本的應(yīng)用程序之一。從下面的視頻中可以看到,在TikTok應(yīng)用程序打開時(shí),蘋果的新隱私警告繼續(xù)出現(xiàn)在屏幕上。
    的頭像 發(fā)表于 07-03 16:33 ?2302次閱讀

    華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-OpenHarmony Codelabs開發(fā)案

    2021華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-OpenHarmony Codelabs開發(fā)案
    的頭像 發(fā)表于 10-24 11:25 ?1875次閱讀
    華為<b class='flag-5'>開發(fā)</b>者分論壇<b class='flag-5'>HarmonyOS</b>學(xué)生公開課-OpenHarmony Codelabs<b class='flag-5'>開發(fā)案</b>例

    ADP1074: 帶有活性剪貼板和 <span class="analog-coupler" >i </span> Cloupler數(shù)據(jù)表的孤立、同步前向控制器 ADI

    電子發(fā)燒友網(wǎng)為你提供ADI(ADI)ADP1074: 帶有活性剪貼板和 i
    發(fā)表于 10-08 16:41
    ADP1074: 帶有活性<b class='flag-5'>剪貼板</b>和 <span class="analog-coupler" >i </span> Cloupler數(shù)據(jù)表的孤立、同步前向控制器 ADI

    怎么將剪貼板數(shù)據(jù)導(dǎo)入到labview數(shù)組

    剪貼板數(shù)據(jù)導(dǎo)入到LabVIEW數(shù)組可以通過以下步驟完成。首先,需要使用LabVIEW自帶的函數(shù)庫VIs來實(shí)現(xiàn)剪貼板數(shù)據(jù)的獲取和處理。 第一步是獲取剪貼板數(shù)據(jù)。LabVIEW提供了Cl
    的頭像 發(fā)表于 01-05 13:35 ?1299次閱讀

    鴻蒙開發(fā)Ability Kit程序訪問控制:使用粘貼控件

    粘貼控件是一種特殊的系統(tǒng)安全控件,它允許應(yīng)用在用戶的授權(quán)下無提示地讀取剪貼板數(shù)據(jù)。
    的頭像 發(fā)表于 07-03 09:15 ?264次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>Ability Kit程序訪問控制:使用粘貼控件