WallpaperService的onCreateEngine在什么时候被调用的?

解决方案 »

  1.   

    package com.test;import android.service.wallpaper.WallpaperService;public class LocalService extends WallpaperService{ @Override
    public Engine onCreateEngine() {
    System.out.println("+++++++++++++++++++++++++++++++++");
    return new CubeEngine();
    }
    class CubeEngine extends Engine {  }}WallpaperService的onCreateEngine这个方法比较特殊,虚拟机没有在WallpaperService里的onCreate方法里调用,更不用你自己在其它Activity里用startService或者bindService来启动,(之前我就是这么干的,汗。)。它是在程序运行之后,由你在桌面上点击menu->Wallpaper->Live Wallpapers->确定->你的项目名称。这个时候虚拟机调用就会onCreateEngine方法。这么重要的信息居然在官方给出的文档里没有,在网上查了三天也没查出来,最后去了一趟单图(西单图书大厦)才解决,真是个杯具,特此声明,以免更多人走入误区,完了。