IPC с подклассом WallpaperService - PullRequest
       17

IPC с подклассом WallpaperService

1 голос
/ 13 декабря 2011

Я пытаюсь сделать живые обои на Android. У меня один класс

public class MyWallpaperService extends WallpaperService {
}

И еще класс:

public class SettingsActivity extends Activity {
}

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

/**
 * Implement to return the implementation of the internal accessibility
 * service interface.  Subclasses should not override.
 */
@Override
public final IBinder onBind(Intent intent) {
    return new IWallpaperServiceWrapper(this);
}

Поэтому я не могу вернуть свой собственный определяемый вспомогательный метод связывания в методе onBind моего сервиса из-за окончательного объявления суперкласса, метода WallpaperService, метода onBind. Мне это кажется упущением со стороны команды разработчиков платформы Android. Эффективно ли это устраняет все возможные возможности межпроцессного взаимодействия с любых живых обоев?

Какие у меня есть варианты? Я знаю, что могу поместить Activity и Сервис в один и тот же процесс и задать глобальные переменные Activity для Сервиса, но похоже, что это может быстро запутаться, и я хочу сделать это правильно. Является ли добавление широковещательного приемника в Службу правильным шагом здесь?

1 Ответ

0 голосов
/ 08 марта 2014

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

http://developer.samsung.com/android/technical-docs/Effective-communication-between-Service-and-Activity

...