Я делаю приложение для обоев. Здесь я беру изображения из базы данных Firebase. Я хочу дать пользователям возможность установить его в качестве обоев и экрана блокировки. Мне удалось установить изображение в качестве обоев с помощью следующего кода
val result:Bitmap=fl_iv.drawToBitmap()
val wallpaperManager = WallpaperManager.getInstance(this)
try {
wallpaperManager.setBitmap(result)
} catch (ex: IOException) {
ex.printStackTrace()
}
Здесь fl_iv
- это макет кадра, содержащий представление изображения, которое демонстрирует изображение. Я установил там еще одну кнопку, которая позволяет пользователю использовать изображение в качестве обоев экрана блокировки.
Я пробовал использовать этот код для блокировки экрана, но он не работает.
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()
}
}