Активность / Живые обои общения в Android - PullRequest
1 голос
/ 07 января 2011

У меня есть живые обои, с которыми я бы хотел пообщаться из Activity в том же пакете. Я никогда не работал с сервисами. Смогу ли я использовать шаблон Local Service или я ограничен, потому что мой сервис - это живые обои, и мне нужно использовать Intents или AIDL?

Я думаю, что поток пойдет примерно так, пожалуйста, исправьте меня, где мой процесс может завершиться неудачей:

  1. Предварительный просмотр живых обоев из Live Wallpaper Chooser
  2. Зайти в мои пользовательские настройки деятельности
  3. Нажмите кнопку «Снимок экрана» или настройку, чтобы открыть действие «Снимок экрана»
  4. Отправить сообщение на мои обои с просьбой предоставить растровое изображение снимка экрана
  5. Служба обоев получает сообщение и отображает его текущее изображение в растровое изображение в каталоге данных приложения
  6. Обои отправляют сообщение активности, указывая успешность и местоположение растрового изображения
  7. Действие получает это сообщение, загружает растровое изображение из заданного местоположения и отображает его пользователю для дальнейшей обработки / совместного использования.

Части, в которых я не уверен, - это сообщение, передаваемое в 4-7.

1 Ответ

1 голос
/ 18 февраля 2011

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

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

...