Android动态壁纸预览设置

最近做动态壁纸项目,需要设置在自己的App上设置动态壁纸。自己查找百度(我查到最后还是没查到,差评!差评!差评!)Google,最后在stackoverflow上面找到了调用方法

实现如下:

首先,动态壁纸实际上是一个Service服务,他在后台一直运行着,然后根据返回的Engine一直渲染,在Activity后面显示着,如果想知道可以试试把Activity样式设置成BaseWallpaperTheme就知道了。所以你首先得获取系统的所有动态壁纸的服务

代码如下:

List list = mPackageManager.queryIntentServices(new Intent(WallpaperService.SERVICE_INTERFACE), PackageManager.GET_META_DATA);    

展示出所有的动态壁纸服务:

Android动态壁纸预览设置_第1张图片
Screenshot_2016-12-29-09-54-04.png

然后调用如下代码:

注意!resolveInfo.getComponent() 就是上面查出来的动态壁纸服务

Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, resolveInfo.getComponent());
startActivity(intent);

运行结果如下:

Android动态壁纸预览设置_第2张图片
Screenshot_2016-12-29-09-54-28.png

ok,就是这么简单!

你可能感兴趣的:(Android动态壁纸预览设置)