1. 程式人生 > 其它 >uni-app設定android的鎖屏桌布

uni-app設定android的鎖屏桌布

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)
}