Есть ли способ привязки к сервису живых обоев?

У меня есть живые обои, в которые загружены и настроены некоторые ресурсы внутри моего пользовательского класса 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 препятствуют переопределению метода onBind(), что делает эту идею невозможной для реализации.

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

1 ответ

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

Другие вопросы по тегам