前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >uni-app设置android的锁屏壁纸(android.app.WallpaperManager)。。。

uni-app设置android的锁屏壁纸(android.app.WallpaperManager)。。。

作者头像
xiny120
发布2019-07-02 17:51:22
2.9K2
发布2019-07-02 17:51:22
举报
文章被收录于专栏:毛毛v5毛毛v5毛毛v5

还是有个问题,壁纸在华为note8上面显示大图片,导致只能显示一部分啊。搞不动。锁屏壁纸正常。

            setting() {
                //uni.showToast({
                //  icon: 'none',
                //  title: '正在设为壁纸'
                //})
                var that = this;
                setTimeout(() => {
                    var WallpaperManager = plus.android.importClass('android.app.WallpaperManager');
                    //console.log(WallpaperManager);
                    var Main = plus.android.runtimeMainActivity();
                    var wallpaperManager = WallpaperManager.getInstance(Main);
                    //console.log(wallpaperManager);
                    //var wpm = plus.android.importClass(wallpaperManager);
                    var BitmapFactory = plus.android.importClass('android.graphics.BitmapFactory');
                    //console.log(wpm);
                    //console.log(this.data[this.index]);
                    uni.showLoading({
                        title:'下载图片...'
                    })
                    
                    uni.downloadFile({
                        url: this.data[this.index],
                        complete: (e) => {
                            uni.hideLoading();
                        },
                        success: (e) => {
                            var filePath = e.tempFilePath.replace('file://', '');
                            //console.log(e.tempFilePath);
                            //console.log(filePath);
                            filePath = plus.io.convertLocalFileSystemURL(filePath);
                            //console.log(filePath);
                            var bitmap = BitmapFactory.decodeFile(filePath);
                            var h = plus.android.invoke(bitmap,"getHeight");//bitmap.getHeight(); 
                            var w = plus.android.invoke(bitmap,"getWidth");//bitmap.getWidth(); 
                            var h0 = h / plus.display.resolutionHeight;
                            var w0 = w / plus.display.resolutionWidth;
                            console.log(h ,w ,h0 ,w0,plus.display.resolutionHeight*plus.screen.scale ,plus.display.resolutionWidth*plus.screen.scale  );
                            //console.log(bitmap);
                            try {
                                //wallpaperManager.suggestDesiredDimensions(, );
                                wallpaperManager.setBitmap(bitmap);
                                wallpaperManager.setBitmap(bitmap, null, true, WallpaperManager.FLAG_LOCK);  //设置锁屏
                                //var it = wallpaperManager.getCropAndSetWallpaperIntent(filePath);// (that.data[that.index])
                                //console.log(it);
                                uni.showToast({
                                    icon: 'none',
                                    title: '壁纸设置成功'
                                })
                            } catch (e) {
                                console.log(e);
                                uni.showToast({
                                    icon: 'none',
                                    title: '壁纸设置失败' + e
                                })
                            }
                        },
                        fail: () => {
                            uni.showToast({
                                icon: 'none',
                                title: '壁纸设置失败'
                            })
                        }
                    })
                }, 100)
            },
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档