粘貼版是一個(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 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
發(fā)布評(píng)論請(qǐ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ù)的使用條件
求助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
小米手機(jī)和PC的共享剪貼板上線,PC端裝云服務(wù)客戶端就OK
劉鳴稱:“看到有用戶在要共享剪貼板,其實(shí)我們已經(jīng)支持了,只需要電腦端裝小米云服務(wù)客戶端就可以了。”
蘋果iOS應(yīng)用程序不經(jīng)過用戶同意讀取剪貼板數(shù)據(jù)
據(jù)Macrumors報(bào)道,最新研究顯示數(shù)十種流行的iOS應(yīng)用程序,在未經(jīng)用戶同意的情況下,讀取剪貼板的內(nèi)容,其中可能包含敏感信息。
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ā)者分論壇HarmonyOS學(xué)生公開課-OpenHarmony Codelabs開發(fā)案例
2021華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-OpenHarmony Codelabs開發(fā)案例
ADP1074: 帶有活性剪貼板和 <span class="analog-coupler" >i </span> Cloupler數(shù)據(jù)表的孤立、同步前向控制器 ADI
電子發(fā)燒友網(wǎng)為你提供ADI(ADI)ADP1074: 帶有活性剪貼板和 i
發(fā)表于 10-08 16:41
怎么將剪貼板數(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ā)Ability Kit程序訪問控制:使用粘貼控件
粘貼控件是一種特殊的系統(tǒng)安全控件,它允許應(yīng)用在用戶的授權(quán)下無提示地讀取剪貼板數(shù)據(jù)。
評(píng)論