Мгновенная установка обоев с помощью setbitmap() android

Я искал ответ на свою проблему, но не могу найти правильный ответ.

Я пытаюсь использовать Tasker, чтобы установить фон на моем телефоне каждый раз, когда меняется песня. У меня все работает, но setbitmap не устанавливает обои мгновенно. Мне нужно каким-то образом взаимодействовать с телефоном, чтобы обновить его (открыть папку, коснуться экрана и т. д.). Есть ли способ принудительно выполнить обновление после вызова setbitmap?

Изменить: сейчас я использую setStream. Вот короткое видео, показывающее, что я пытаюсь объяснить в деталях.

Задержка обоев

Спасибо!


person Per Digesen    schedule 01.09.2016    source источник
comment
У меня такая же проблема. Вы нашли какое-нибудь решение?   -  person Ananta    schedule 07.02.2018


Ответы (1)


Есть ли у вас разрешение?

<uses-permission android:name="android.permission.SET_WALLPAPER" />


В качестве альтернативы вы можете использовать setStream вместо setBitmap, так как для декодирования растрового изображения требуется время, которое прямо пропорционально размеру растрового изображения.

person CodeWalker    schedule 01.09.2016
comment
Я новенький здесь и комментирую не в том месте! Спасибо за ваш ответ! Да всё работает. Просто обои не обновляются мгновенно после вызова setbitmap. Кажется, что-то должно произойти, например, взаимодействие с пользователем, чтобы обои обновились. - person Per Digesen; 01.09.2016
comment
Вы можете использовать AccessibilityService для имитации взаимодействия с пользователем. - person CodeWalker; 01.09.2016
comment
Спасибо! Я пробовал это, но с тем же результатом. Это работает, но обновляет фон только тогда, когда я перемещаю экран или каким-либо образом взаимодействую с телефоном. - person Per Digesen; 01.09.2016