通过native.js修改系统壁纸,直接上源码:
function setwallpaper(){
var WallpaperManager = plus.android.importClass("android.app.WallpaperManager");
var Main = plus.android.runtimeMainActivity();
var wallpaperManager = WallpaperManager.getInstance(Main);
plus.android.importClass(wallpaperManager);
var BitmapFactory = plus.android.importClass("android.graphics.BitmapFactory");
var url="img/img_1.png"; // 换成要设置的壁纸图片路径
var path=plus.io.convertLocalFileSystemURL(url);
var bitmap = BitmapFactory.decodeFile(path);
try{
wallpaperManager.setBitmap(bitmap);
bitmap.recycle(); // 设置完毕桌面要进行 原生层的BITMAP回收 减少内存压力
}catch(e){
//TODO handle the exception
}
}
注意,调用此功能需要添加权限
打开应用的manifest.json文件,切换到“模块权限配置”项,选中android.permission.SET_WALLPAPER权限
android12+部分系统设备设置壁纸后会导致app重启 需要注意
如果要频繁设壁纸,应该把重用的基础变量定义放到函数外。