uniapp/H5 获取手机桌面壁纸 (静态壁纸)

这篇具有很好参考价值的文章主要介绍了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.toymoban.com/news/detail-825099.html

到了这里,关于uniapp/H5 获取手机桌面壁纸 (静态壁纸)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python实现的《桌面视频壁纸程序 Mili Wallpaper》

    目录 安装方法: 使用方法 占时停止更新 Mili Wallpaper 现版本:1.5.54更新了相应的新功能,修改了很多BUG提高了程序的稳定性。让动态视频壁纸不再收费!达到了真正的白嫖! 之前版本的Mili Wallpaper只是一个死板的gui(tkinter实现)。现版本将Gui界面缩小,右键窗口菜单样式供用户

    2023年04月15日
    浏览(60)
  • Dynamic Wallpaper for Mac:动态壁纸让桌面更生动

    Dynamic Wallpaper for Mac是一款为苹果电脑用户精心设计的动态壁纸软件,它以其丰富的功能和精美的壁纸库,为用户带来了更加生动和个性化的桌面体验。 Dynamic Wallpaper for Mac v17.8中文版下载 这款软件支持多种动态壁纸,用户可以根据自己的喜好选择和切换。这些壁纸不仅可以根

    2024年04月22日
    浏览(35)
  • 桌面太单调?一起用Python做个自定义动态壁纸,竟然还可以放视频!

    前言 前段时间,用PyQt5写了几篇文章,关于Python自制一款炫酷音乐播放器、自定义桌面动画挂件、车牌自动识别系统。今天就继续给大家分享一个实战案例,带大家一起用Python的PyQt5开发一个自定义动态桌面壁纸,好玩又有趣! 首先一起来看看最终实现的自定义动态壁纸效果

    2023年04月25日
    浏览(254)
  • uniapp H5页面、小程序页面获取手机号拨打电话

    效果图: 1、H5页面----手机号写死: 2、H5页面----动态获取手机号拨打: APP: 小程序: methods:

    2024年02月07日
    浏览(54)
  • uniapp - 详细手机端h5网页调用手机摄像头进行二维码识别扫描,在uniapp的H5移动端微信网页平台中,在浏览器中调用手机扫码功能详细教程,识别二维码并获取扫描结果(完整示例源码,一键复制即用

    正常情况下,使用uniapp扫码API是不行的,因为不支持h5端。 在uniapp h5移动端网页项目中,实现了浏览器中调用手机摄像头扫码功能,uniapp手机网页H5扫描二维码功能实现,uni-app h5端调用摄像头扫码,提供完整可运行的代码。 跟着本文的步骤,复制源代码后运行改下就行了。

    2024年02月04日
    浏览(71)
  • H5获取手机型号,获取具体手机型号

     需求: H5页面获取手机具体机型在提交照片时传给服务端,并在pc端展示 分析实现:因为H5 是运行在浏览器上的,只能获取window上给的信息也就是浏览器信息。如下图所示,这是安卓机(华为)的拿取到的信息。重这个信息中我们可以获取到手机的入网机型代码,这个也是

    2024年02月11日
    浏览(39)
  • uniapp:二级目录部署H5静态图片资源请求路径不对

    引入方式 由于url使用的是二级目录, http://www.demo.com/mini/ 开发环境中没有问题,资源可以正常请求到 上线后,发现静态资源请求的路径是 请求不到资源,返回了404 网上给出了很多方式 都不能获取 其实最后解决的方式也很简单,使用相对当前目录的方式 也就是把最前面的路

    2024年02月13日
    浏览(50)
  • uniapp 之 uniapp app 与uniapp H5的通信 webview,以及处理H5页面的手机物理返回问题

    APP端: 引用 web-view     app给H5传参:通过h5地址传参 这个方法简单,就是直接通过src 地址后面通过 ? 拼接参数 app端 h5端通过uniapp生命周期函数 onLoad 接收参数     app给H5传参:通过方法 evalJS 传参 H5给app传参:通过 web-view 组件的 @message 绑定的方法 处理H5页面的手机物理返

    2024年01月16日
    浏览(49)
  • vConsole手机调试模式uniapp和原生h5

    手机打开调试模式的方法 尽量放在页面头部,底部有可能不行 1 选中你的项目,弄出终端,输入以下命令: npm install vconsole 2 引用vconsole,找到main.js文件中,加上以下代码:

    2024年02月14日
    浏览(42)
  • uniapp H5唤起手机App 中间下载页

    我这里直接是打开中间下载页,在下载页判断手机是否已存在App,有则唤起App,没有则可点击下载按钮下载app。 唤起App的关键语句是:window.location.href =  scheme  Scheme链接格式样式: [scheme]://[host]/[path]?[query] 直接放全部代码: 其中: 上述代码中的schemeLink:xxxApp:// Android和

    2024年02月20日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包