最近做動態(tài)壁紙項目,需要設(shè)置在自己的App上設(shè)置動態(tài)壁紙疟位。自己查找百度(我查到最后還是沒查到瞻润,差評!差評甜刻!差評I茏病)和Google,最后在stackoverflow上面找到了調(diào)用方法
實現(xiàn)如下:
首先,動態(tài)壁紙實際上是一個Service服務得院,他在后臺一直運行著傻铣,然后根據(jù)返回的Engine一直渲染,在Activity后面顯示著祥绞,如果想知道可以試試把Activity樣式設(shè)置成BaseWallpaperTheme就知道了非洲。所以你首先得獲取系統(tǒng)的所有動態(tài)壁紙的服務
代碼如下:
List<ResolveInfo> list = mPackageManager.queryIntentServices(new Intent(WallpaperService.SERVICE_INTERFACE), PackageManager.GET_META_DATA);
展示出所有的動態(tài)壁紙服務:
然后調(diào)用如下代碼:
注意!resolveInfo.getComponent() 就是上面查出來的動態(tài)壁紙服務
Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, resolveInfo.getComponent());
startActivity(intent);
運行結(jié)果如下:
ok蜕径,就是這么簡單两踏!