2012-06-29 7 views
0

У меня есть эти живые обои, где вы можете выбрать свой собственный фон и сразу же при запуске приложение проверяет, существует ли путь к файлу, если он не флаги для рисования только черного экрана. Дело в том, что каждый раз, когда я перезапускаю телефон, фон не получается нарисовать, но он нарисован в режиме Live Wallpaper.Жизнь в реальном времени при загрузке телефона

Я очень подозреваю Media Scanner или тот факт, что все каталоги еще не установлены, но что мне делать?

+0

Рассматривали ли вы делать с низким разрешением копию файла в живых обоев когда это изображение установлено, в основном кэширование изображения? Таким образом, медиа-сканер не будет вмешиваться, поскольку обои уже содержат исходное изображение. – gkiar

+0

@iKiar хмм. Я не совсем понимаю, вы имеете в виду, что я должен каким-то образом кэшировать выбранное изображение? Потому что дело в том, что пользователь может выбрать изображение из своего телефона. – Aron

+1

Прости, я постараюсь быть более ясным. Я предполагаю, что, как только пользователь выбирает изображение из своих локальных файлов, в процессе установки в качестве фона вы также создаете кешированный файл в локальных ресурсах для своего приложения. Таким образом, он легко доступен при запуске. Если пользователь просит изменить свое изображение, просто перезапишите кешированный файл, который у вас был ранее, с новым. – gkiar

ответ

0

Появление этого решения заключается в регистрации Intent.ACTION_MEDIA_MOUNTED с широковещательным приемником. Это, кажется, работает даже без каких-либо реальных внешних носителей (appearantly то же самое, как внешние носители, которые Isnt просто физически внешнее запоминающее устройство)

android intent for sdcard ready

0

Обои для рабочего стола создайте каждый раз, когда вы нажимаете на предварительный просмотр и когда вы устанавливаете обои. поэтому проблема заключается в том, что вы должны держать путь файла в переменной, которая находится в двигателе. сделайте эту переменную классом. он будет работать

+0

спасибо, но это не проблема. Изображение-фон прекрасно работает как в режиме предварительного просмотра, так и на домашнем экране до перезапуска. Путь, кстати, хранится в базе данных SharedPreferences. – Aron

+0

Я столкнулся с такой же проблемой. Что я сделал, это onSharedPreferenceChanged() Я проверяю ключ. Если ключ равен нулю, я беру все свои данные из предпочтений. Когда вы перезагружаете телефон, созданный вашим движком, он передаст ключ как null. –

0

Я столкнулся с той же проблемой. Что я сделал, это onSharedPreferenceChanged() Я проверяю ключ. Если ключ равен нулю, я беру все свои данные из предпочтений. Когда вы перезагружаете телефон, ваш двигатель создан, и он передаст ключ как нуль.

Смежные вопросы