我正在制作壁纸应用。在这里,我从Firebase数据库拍摄图像。我想为用户提供将其设置为墙纸和锁屏的选项。我可以通过以下代码将图片设置为墙纸
val result:Bitmap=fl_iv.drawToBitmap()
val wallpaperManager = WallpaperManager.getInstance(this)
try {
wallpaperManager.setBitmap(result)
} catch (ex: IOException) {
ex.printStackTrace()
}
这里fl_iv
是包含展示图像的imageview的框架布局。我在那里设置了另一个按钮,允许用户将图像用作“锁定屏幕”墙纸。
我尝试将此代码用于锁屏,但无法正常工作。
lock_screen.setOnClickListener {
val wpManager = WallpaperManager.getInstance(this)
val myBitmap: Bitmap = fl_iv.drawToBitmap()
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
wpManager.setBitmap(myBitmap, null, true, WallpaperManager.FLAG_LOCK)
}
else{
return@setOnClickListener
}
} catch (ex: IOException) {
ex.printStackTrace()
}
}
答案 0 :(得分:0)
您需要在wallpaperManager
中指定FLAG_LOCK标志
wallpaperManager.setBitmap(result, null, true, WallpaperManager.FLAG_LOCK)