美文网首页
uni-app设置android的锁屏壁纸(android.ap

uni-app设置android的锁屏壁纸(android.ap

作者: 毛毛v5 | 来源:发表于2019-06-27 15:42 被阅读0次

    还是有个问题,壁纸在华为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)
                },
    

    相关文章

      网友评论

          本文标题:uni-app设置android的锁屏壁纸(android.ap

          本文链接:https://www.haomeiwen.com/subject/ypercctx.html