Android视频桌面,动态桌面开发


Android 视频多媒体(MediaPlayer)视频播放依赖与SurfaceHolder,而SurfaceHolder只存在于SurfaceView中。

因此,开发视频桌面首先继承WallpaperService,

public class DesktopService extends WallpaperService {

    @Override
    public Engine onCreateEngine() {
        return null;
    }
}


可以看到这里有个Engine类,重点就是在这里实现

Android视频桌面,动态桌面开发_第1张图片

Engine可理解为“非平常的Activity”,这个“非平常的Activity”显示在桌面(Lancher)中,也有它完整的声明周期方法

Android视频桌面,动态桌面开发_第2张图片


<service android:name="com.zzyd.service.DesktopService"
        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/livewallpaper" />
service>
这里resource="@xml/xxx"
是因为WallPaperService不能使用常规的layout布局
在res下新建“xml”文件夹,然后新建livewallpaper.xml

xml version="1.0" encoding="utf-8"?>
<wallpaper
    xmlns:android="http://schemas.android.com/apk/res/android"
            android:thumbnail="@mipmap/ic_launcher">
wallpaper>

thumbnail也可以不写,根据我的理解,只是在这里显示一个APP的icon(如有问题,希望大家指正!)

Android视频桌面,动态桌面开发_第3张图片

参考:http://blog.csdn.net/t12x3456/article/details/7857741

https://github.com/songixan/Wallpaper


 
  
 
  
 
  
 
  
 
 

你可能感兴趣的:(Android)