Есть ли способ привязки к сервису живых обоев? - PullRequest
3 голосов
/ 09 февраля 2012

У меня есть живые обои, в которые загружены и настроены некоторые ресурсы внутри моего пользовательского WallpaperService класса. Примерно так:

class MyLiveWallpaperService extends WallpaperService {
    MyResources sharedResources;

    public onCreate() {
       // set up some resources
    }

    public MyResources getSharedResources() {
        return sharedResources;
    }
}

И у меня также есть настройки предпочтений для этих живых обоев, которые правильно установлены в res / xml / wallpaper.xml . Я хочу как-то предоставить этому PreferencesActivity доступ к этим общим ресурсам. Я знаю, что мог бы сделать их общедоступными статическими полями, но я бы предпочел более чистое решение - если бы только был способ привязки к сервису обоев (чтобы я мог получить доступ к экземпляру MyLiveWallpaperService), который был бы по-настоящему крутым.

В конце концов, в моем случае действия и службы выполняются в одном и том же процессе, поэтому должно работать что-то, описанное как доступ к локальной службе в руководстве разработчика, НО WallpaperService docs препятствует переопределению метода onBind (), что делает эту идею невозможной для реализации.

Есть ли другой способ? :)

1 Ответ

0 голосов
/ 22 февраля 2012

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

...