Android动态壁纸预览设置
2016-12-29 本文已影响447人
消沉沉
最近做动态壁纸项目,需要设置在自己的App上设置动态壁纸。自己查找百度(我查到最后还是没查到,差评!差评!差评!)和Google,最后在stackoverflow上面找到了调用方法
实现如下:
首先,动态壁纸实际上是一个Service服务,他在后台一直运行着,然后根据返回的Engine一直渲染,在Activity后面显示着,如果想知道可以试试把Activity样式设置成BaseWallpaperTheme就知道了。所以你首先得获取系统的所有动态壁纸的服务
代码如下:
List<ResolveInfo> list = mPackageManager.queryIntentServices(new Intent(WallpaperService.SERVICE_INTERFACE), PackageManager.GET_META_DATA);
展示出所有的动态壁纸服务:
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);
运行结果如下:
Screenshot_2016-12-29-09-54-28.pngok,就是这么简单!