Android动态壁纸预览设置

移动开发 来源:MTW 77℃ 0评论

最近做动态壁纸项目,需要设置在自己的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.png

ok,就是这么简单!

关闭

IT问道推荐

银行贷款频频被拒?
“Dr信用牛牛”让你远离信用污点 国内首家信用健康管理平台免费为你提供信用修复方案