当前位置:
首页 > 网站开发 > JavaScript >
-
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
找半天没找到相关的内容,自己捣鼓出来的,记录一下。(比较可惜的是只能获取静态图片,动态壁纸就不知道了咋弄了)
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 }
带注释:
function getWallpaper() { // 导入所需的 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'); // 获取当前 Activity let Main = plus.android.runtimeMainActivity(); // 获取壁纸管理器实例 let wallpaperManager = WallpaperManager.getInstance(Main); // 获取当前壁纸的 Drawable let Drawable = wallpaperManager.getDrawable(); // 从 Drawable 中获取 Bitmap 对象 let bimp = plus.android.invoke(Drawable, "getBitmap"); // 创建一个字节数组输出流 let baos = new ByteArrayOutputStream(); // 将 Bitmap 压缩为 JPEG 格式,压缩质量为 80%,并写入到字节数组输出流中 bimp.compress(Bitmap.CompressFormat.JPEG, 80, baos); // 刷新输出流 baos.flush(); // 关闭输出流 baos.close(); // 将输出流中的数据转换为字节数组 let bitmapBytes = baos.toByteArray(); // 对字节数组进行 Base64 编码 let result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT); let src = 'data:image/jpeg;base64,' + result; }
出处:https://www.cnblogs.com/MEEBlogs/p/18012601
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比