Глядя в ту же проблему, но и зашел в тупик.
Моя идея заключалась в том, что мне не нужен был доступ к IWallpaperConnection и т. Д., Но я мог использовать отражение в связанном сервисе.
Однако я получаю
WARN / ActivityManager (96): Отказ в доступе: доступ к службе ComponentInfo {com.android.wallpaper / com.android.wallpaper.grass.GrassWallpaper} из pid = 4196, uid = 10070 требует android.permission.BIND_WALLPAPER
Разрешение android.permission.BIND_WALLPAPER требуется для просмотра обоев, и это системное разрешение, недоступное для обычных приложений.
EDIT:
Создано приложение под названием Current Wallpaper, которое доступно на рынке.
https://market.android.com/details?id=com.elsewhat.android.currentwallpaper
Он в основном отображает текущие обои в отдельном приложении и позволяет менять обои с помощью стандартного средства выбора обоев.
Приложение использует тему android: theme = "@ android: style / Theme.Wallpaper.NoTitleBar.Fullscreen"