harmony-utils之PasteboardUtil,剪貼板工具類(lèi)
harmony-utils 簡(jiǎn)介與說(shuō)明
[harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫(kù),借助眾多實(shí)用工具類(lèi),致力于助力開(kāi)發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線程間通信、彈框、吐司、生物認(rèn)證、用戶(hù)首選項(xiàng)、拍照、相冊(cè)、掃碼、文件、日志,異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機(jī)、base64、加密、解密、JSON等一系列的功能和操作,能夠滿(mǎn)足各種不同的開(kāi)發(fā)需求。
[picker_utils] 是harmony-utils拆分出來(lái)的一個(gè)子庫(kù),包含PickerUtil、PhotoHelper、ScanUtil。
下載安裝ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils
//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
API方法與使用
requestPermissions 申請(qǐng)剪貼板權(quán)限
PasteboardUtil.requestPermissions().then((result) = > {
ToastUtil.showToast(`檢測(cè)并申請(qǐng)授權(quán),允許應(yīng)用讀取剪貼板:${result}`);
});
getSystemPasteboard 獲取系統(tǒng)剪貼板對(duì)象
let systemPasteboard = PasteboardUtil.getSystemPasteboard();
hasData 判斷系統(tǒng)剪貼板中是否有內(nèi)容
let hasData = PasteboardUtil.hasDataSync();
ToastUtil.showToast(`系統(tǒng)剪貼板中是否有內(nèi)容:${hasData}`);
setData 將數(shù)據(jù)寫(xiě)入系統(tǒng)剪貼板
let text = "一款高效的OpenHarmony/HarmonyOS工具包。"
PasteboardUtil.setDataSync(pasteboard.MIMETYPE_TEXT_PLAIN, text);
getData 讀取系統(tǒng)剪貼板內(nèi)容
let text = PasteboardUtil.getDataSync().getPrimaryText();
ToastUtil.showToast(`剪切板內(nèi)容為:${text}`);
setDataText 將純文本數(shù)據(jù)寫(xiě)入系統(tǒng)剪貼板
let text = "harmony-utils 一款高效的OpenHarmony/HarmonyOS工具包,封裝了常用工具類(lèi),提供一系列簡(jiǎn)單易用的方法。"
PasteboardUtil.setDataText(text).then(() = > {
ToastUtil.showToast("設(shè)置成功!");
})
getDataText 讀取系統(tǒng)剪貼板純文本內(nèi)容
let str = await PasteboardUtil.getDataText();
ToastUtil.showToast(`剪切板內(nèi)容為:${str}`);
setDataHtml 將HTML數(shù)據(jù)寫(xiě)入系統(tǒng)剪貼板
let html = "< !DOCTYPE html >n" + "< html >n" + "< head >n" + "< meta charset="utf-8" >n" +
"< title >HTML-PASTEBOARD_HTML< /title >n" + "< /head >n" + "< body >n" + "< h1 >HEAD< /h1 >n" +
"< p >一個(gè)富文本< /p >n" + "< /body >n" + "< /html >";
PasteboardUtil.setDataHtml(html).then(() = > {
ToastUtil.showToast("設(shè)置成功");
})
getDataHtml 讀取系統(tǒng)剪貼板HTML內(nèi)容
let html = await PasteboardUtil.getDataHtml();
ToastUtil.showToast(`剪切板內(nèi)容為:${html}`);
setDataUri 將URI數(shù)據(jù)寫(xiě)入系統(tǒng)剪貼板
let dataUri = 'dataability:///com.example.myapplication1/user.txt';
PasteboardUtil.setDataUri(dataUri).then(() = > {
ToastUtil.showToast("設(shè)置成功");
})
getDataUri 讀取系統(tǒng)剪貼板URI內(nèi)容
let uri = PasteboardUtil.getDataUriSync();
ToastUtil.showToast(`剪切板內(nèi)容為:${uri}`);
setDataWant 將Want數(shù)據(jù)寫(xiě)入系統(tǒng)剪貼板
let want: Want = {
deviceId: 'device_666666',
bundleName: 'com.example.myapplication',
abilityName: 'FuncAbility',
moduleName: 'entry'
};
PasteboardUtil.setDataWantSync(want);
getDataWant 讀取系統(tǒng)剪貼板Want內(nèi)容
let want = PasteboardUtil.getDataWantSync();
if (want) {
let jsonStr = JSON.stringify(want, null, 2);
Utils.showSheetText(jsonStr);
}else {
ToastUtil.showToast("剪切板內(nèi)容為空,請(qǐng)先設(shè)置內(nèi)容");
}
setDataPixelMap 將PixelMap數(shù)據(jù)寫(xiě)入系統(tǒng)剪貼板
let pixelMap = await ImageUtil.getPixelMapFromMedia($r("app.media.test_as4"))
PasteboardUtil.setDataPixelMap(pixelMap).then(() = > {
ToastUtil.showToast("設(shè)置成功");
});
getDataPixelMap 讀取系統(tǒng)剪貼板PixelMap內(nèi)容
let pixelMap = PasteboardUtil.getDataPixelMapSync();
if (pixelMap) {
Utils.showSheetImg(pixelMap);
} else {
ToastUtil.showToast("剪切板內(nèi)容為空,請(qǐng)先設(shè)置內(nèi)容");
}
getDataStr 讀取系統(tǒng)剪貼板里的字符串
let str = PasteboardUtil.getDataStrSync();
ToastUtil.showToast(`剪切板內(nèi)容為:${str}`);
getDataEasy 讀取系統(tǒng)剪貼板里的內(nèi)容(純文本內(nèi)容、HTML內(nèi)容、URI內(nèi)容、Want內(nèi)容、PixelMap內(nèi)容)
let data = PasteboardUtil.getDataEasy();
if (data && typeof data === 'string') {
Utils.showSheetText(data);
} else if (data && typeof data === 'object') {
if (typeof (data as PixelMap).getImageInfo === 'function') {
Utils.showSheetImg(data as PixelMap);
} else {
Utils.showSheetText(JSON.stringify(data, null, 2));
}
} else {
ToastUtil.showToast("剪切板內(nèi)容為空,請(qǐng)先設(shè)置內(nèi)容");
}
clearData 清空系統(tǒng)剪貼板內(nèi)容
PasteboardUtil.clearDataSync();
ToastUtil.showToast(`清空成功!`);
創(chuàng)作不易,請(qǐng)給童長(zhǎng)老點(diǎn)贊
審核編輯 黃宇
-
Harmony
+關(guān)注
關(guān)注
0文章
108瀏覽量
3019
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論