找半天沒找到相關(guān)的內(nèi)容,自己搗鼓出來的,記錄一下。(比較可惜的是只能獲取靜態(tài)圖片,動態(tài)壁紙就不知道了咋弄了)
uniapp的話還可以參考一下如何用NJS獲取手機桌面壁紙? - DCloud問答下面DCloud_heavensoft?大佬的一個回答 : “Native.js很多類型沒有。用uts可以?https://uniapp.dcloud.net.cn/plugin/uts-plugin.html”??
完整的方法:
1 function getWallpaper () { 2 let WallpaperManager = plus.android.importClass("android.app.WallpaperManager"), 3 Base64 = plus.android.importClass('android.util.Base64'), 4 Bitmap = plus.android.importClass('android.graphics.Bitmap'), 5 ByteArrayOutputStream = plus.android.importClass('java.io.ByteArrayOutputStream'); 6 7 let Main = plus.android.runtimeMainActivity(); 8 let wallpaperManager = WallpaperManager.getInstance(Main); 9 let Drawable = wallpaperManager.getDrawable(); 10 11 let bimp = plus.android.invoke(Drawable,"getBitmap"); 12 let baos = new ByteArrayOutputStream(); 13 14 bimp.compress(Bitmap.CompressFormat.JPEG, 80, baos); 15 baos.flush(); 16 baos.close(); 17 let bitmapBytes = baos.toByteArray(); 18 let result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT); 19 let src = 'data:image/jpeg;base64,' + result; 20 }
帶注釋:文章來源:http://www.zghlxwxcb.cn/news/detail-825099.html
function getWallpaper() { // 導(dǎo)入所需的 Android 類 let WallpaperManager = plus.android.importClass("android.app.WallpaperManager"), Base64 = plus.android.importClass('android.util.Base64'), Bitmap = plus.android.importClass('android.graphics.Bitmap'), ByteArrayOutputStream = plus.android.importClass('java.io.ByteArrayOutputStream'); // 獲取當(dāng)前 Activity let Main = plus.android.runtimeMainActivity(); // 獲取壁紙管理器實例 let wallpaperManager = WallpaperManager.getInstance(Main); // 獲取當(dāng)前壁紙的 Drawable let Drawable = wallpaperManager.getDrawable(); // 從 Drawable 中獲取 Bitmap 對象 let bimp = plus.android.invoke(Drawable, "getBitmap"); // 創(chuàng)建一個字節(jié)數(shù)組輸出流 let baos = new ByteArrayOutputStream(); // 將 Bitmap 壓縮為 JPEG 格式,壓縮質(zhì)量為 80%,并寫入到字節(jié)數(shù)組輸出流中 bimp.compress(Bitmap.CompressFormat.JPEG, 80, baos); // 刷新輸出流 baos.flush(); // 關(guān)閉輸出流 baos.close(); // 將輸出流中的數(shù)據(jù)轉(zhuǎn)換為字節(jié)數(shù)組 let bitmapBytes = baos.toByteArray(); // 對字節(jié)數(shù)組進行 Base64 編碼 let result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT); let src = 'data:image/jpeg;base64,' + result; }
?文章來源地址http://www.zghlxwxcb.cn/news/detail-825099.html
到了這里,關(guān)于uniapp/H5 獲取手機桌面壁紙 (靜態(tài)壁紙)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!