2012-01-23 200 views
1

我必须实现一个临时更改壁纸的应用程序。一段时间后,原始壁纸必须恢复。这对于静态壁纸很容易实现。但我想 由一个静态的替换一个活的壁纸,并在一段时间后,我想恢复动态壁纸。Android:恢复动态壁纸

设置我的临时壁纸后,我看到前面的动态壁纸的wallpaperinfo仍然存在。我试图使用这些信息启动(android)动态壁纸服务,但我得到了一个安全异常。

当我设置静态壁纸时,动态壁纸服务会发生什么情况。我认为这取决于实施。要重新启动壁纸服务是不可能的,因为(android)实时纸张服务没有设置“导出”属性(我的猜测)。

有没有可能简单地删除我的静态壁纸,让壁纸服务继续其工作?

回答

1

设置动态壁纸是为平台应用程序保留的,例如,与设备捆绑在一起的动态壁纸选取器(许可android.permission.SET_WALLPAPER_COMPONENT被定义为signatureOrSystem)。

简而言之,如果没有植根设备或构建自己的平台,就无法做到这一点。

+0

现在可以吗?你能看到我的问题吗? http://stackoverflow.com/questions/13683464/set-live-wallpaper-programmatically-and-skip-the-wallpaper-chooser – Naskov

+1

@Naskov - 至少对于JellyBean来说,'SET_WALLPAPER_COMPONENT'的许可仍然是'signatureOrSystem',你从设置动态壁纸,无需用户交互。 – Jens

+0

谢谢你回答先生。我很感激。我正在研究这个话题。再次感谢。 – Naskov