uni-app設定android的鎖屏桌布
阿新 • • 發佈:2021-11-08
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) }