Создание собственной LiveWallpaperPreview? - PullRequest
1 голос
/ 01 мая 2010

Я хотел бы создать свой собственный LiveWallpaperPreview, то есть показать пользователю полноэкранный предварительный просмотр того, как выглядят выбранные живые обои (без кнопок «Установить обои» и «Настройки», которые есть в предварительном просмотре ОС).

Восстановление класса LivePicker из 2.1 ( android.git.kernel.org ) прекрасно работает, поэтому я могу позволить пользователю выбрать обои для предварительного просмотра, но реальная попытка LiveWallpaperPreview-Class импортировать следующие частные интерфейсы / классы:

import android.service.wallpaper.IWallpaperConnection;<br> import android.service.wallpaper.IWallpaperService;<br> import android.service.wallpaper.IWallpaperEngine;<br> import android.service.wallpaper.WallpaperSettingsActivity;

Есть ли способ отобразить LiveWallpaper в моем приложении, не прибегая к использованию частных API (что я, очевидно, не хочу)?

Спасибо!

Ник

Ответы [ 2 ]

1 голос
/ 01 мая 2010

Вы не можете сделать это. Средство выбора живых обоев является частью операционной системы Android и не может быть заменено.

0 голосов
/ 17 августа 2011

Глядя в ту же проблему, но и зашел в тупик.

Моя идея заключалась в том, что мне не нужен был доступ к 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"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...