[英]Creating own LiveWallpaperPreview?
我想创建自己的LiveWallpaperPreview,即向用户显示所选动态壁纸的全屏预览(没有stock-OS预览所具有的“设置壁纸”和“设置”按钮)。
从2.1( android.git.kernel.org )重建LivePicker-Class效果很好,因此我能够让用户选择要预览的墙纸,但是实际的LiveWallpaperPreview-Class尝试导入以下私有接口/类:
import android.service.wallpaper.IWallpaperConnection;
import android.service.wallpaper.IWallpaperService;
import android.service.wallpaper.IWallpaperEngine;
import android.service.wallpaper.WallpaperSettingsActivity;
有什么方法可以在我的应用中显示LiveWallpaper,而无需使用私有API(我显然不想这样做)?
谢谢!
缺口
你不可以做这个。 动态壁纸选择器是Android操作系统的一部分,无法替换。
看着同样的问题,也走到了尽头。
我的想法是,我不需要访问IWallpaperConnection等,但是可以在绑定的服务上使用反射。
但是,我得到了WARN / ActivityManager(96):拒绝权限:从pid = 4196访问服务ComponentInfo {com.android.wallpaper / com.android.wallpaper.grass.GrassWallpaper},uid = 10070需要android.permission.BIND_WALLPAPER
查看壁纸需要android.permission.BIND_WALLPAPER权限,这是普通应用程序无法使用的系统权限。
编辑:创建了一个名为Current Wallpaper的应用程序,该应用程序可在市场上购买https://market.android.com/details?id=com.elsewhat.android.currentwallpaper
它基本上在一个独立的应用程序中显示当前墙纸,并允许您通过将意图更改为标准墙纸选择器来更改墙纸。
该应用使用主题android:theme =“ @ android:style / Theme.Wallpaper.NoTitleBar.Fullscreen”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.