您可以使用WalpaperManager类的这三种方法,但仅适用于零版本的设备或更高版本的设备:
public int setBitmap (Bitmap fullImage,
Rect visibleCropHint,
boolean allowBackup,
int which)
public int setResource (int resid,
int which)
public int setStream (InputStream inputStreamData,
Rect visibleCropHint,
boolean allowBackup,
int which)
这三种方法的参数:
位图/残差/ inputStreamData:-此参数接受数据
visibleCropHint:-此参数接受主要用于裁剪功能的Rect对象,有关更多信息,请参阅Android开发人员参考网站,如果您不希望裁剪功能,也可以传递null
allowBackup:-boolean:如果允许操作系统备份此墙纸图像以还原到将来的设备,则为true;否则为true。否则为假。
其中:-这是最重要的参数之一,可帮助您为锁屏和家庭墙纸配置墙纸。对于锁定屏幕,请使用WalpaperManager.FLAG_LOCK;对于家庭墙纸,请使用FLAG_SYSTEM
我举一个例子,让您了解如何使用它:-
WalaperManager wm = WalaperManager.getInstance();
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
wm.setBitmap(bitmap,null,true,WalpaperManager.FLAG_LOCK);//For Lock screen
Toast.makeText(context.context, "done", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(context.context, "Lock screen walpaper not supported",
Toast.LENGTH_SHORT).show();
}
} catch (e: Exception) {
Toast.makeText(context.context, e.message, Toast.LENGTH_SHORT).show();
}