视频壁纸属于动态壁纸,所以视频壁纸就可以用Android系统提供的动态壁纸服务来实现。首先先介绍一下在实现过程中会用到的几个类。
WallpaperManager
Android提供的用于管理壁纸的类,里面有几个方法在实现过程中需要用到
getInstance(context) 获取一个实例
clear() 清空所有的壁纸
getWallpaperInfo() 获取当前壁纸的信息
WallpaperService
Android系统提供的壁纸服务的抽象类,实现一个动态壁纸必须要继承该类并实现onCreateEngine()方法,该类的唯一功能就是返回绘制动态壁纸所需要的Engine实例。
WallpaperService.Engine
Engine是WallpaperService一个内部类,动态壁纸的所有显示过程的绘制都由该类完成,我们需要继承该类并实现以下三个方法:
onSurfaceCreated()
onSurfaceDestroyed()
onVisibilityChanged()
当然还有其他的如onCreate()和onDestroy()方法等等。
视频壁纸的实现过程
首先我们需要自定义一个类VideoWallPaperService来继承WallpaperService类并实现onCreateEngine()方法,在该方法中需要返回一个Engine实例。
public class VideoWallPaperService extends WallpaperService {
@Override
public Engine onCreateEngine() {
return new VideoEn