繁体   English   中英

创建自己的LiveWallpaperPreview?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM