1. 创建一个类集成 WallpaperService
public class MyWallpaperService extends WallpaperService {
@Override
public Engine onCreateEngine ( ) {
return new MyEngine ( ) ;
}
class MyEngine extends Engine {
public void onSurfaceCreated ( SurfaceHolder holder) {
Canvas canvas = holder. lockCanvas ( null) ;
canvas. draw. . . . .
holder. unlockCanvasAndPost ( canvas) ;
}
}
}
2. 在 AndroidManifest.xml 文件中注册
< service
android: name= " com.sagereal.zq.MyWallpaperService"
android: label= " @string/app_name"
android: permission= " android.permission.BIND_WALLPAPER" >
< intent-filter>
< action android: name= " android.service.wallpaper.WallpaperService" />
</ intent-filter>
< meta-data
android: name= " android.service.wallpaper"
android: resource= " @xml/wallpaper" />
</ service>
3. 创建添加 res/xml/wallpaper.xml 文件
< wallpaper xmlns: android= " http://schemas.android.com/apk/res/android"
android: thumbnail= " @drawable/ic_launcher"
android: description= " @string/description" /> //动态壁纸列表中的动态壁纸名称
4. 如何过滤出所有动态壁纸的apk
public static final String SERVICE_INTERFACE = "android.service.wallpaper.WallpaperService" ;
List< ResolveInfo> list = mPackageManager. queryIntentServices ( new Intent ( WallpaperService. SERVICE_INTERFACE) , PackageManager. GET_META_DATA) ;
可以参考 Android 仿火萤视频桌面 神奇的LiveWallPaper