在动态壁纸预览模式屏幕上检测到按下或设置壁纸按钮?

Detecting back or set wallpaper button pressed on a livewallpaper preview mode screen?

您知道在动态壁纸预览模式屏幕上检测按下后退或设置壁纸按钮的方法吗?

OnDestroy() 当您在该屏幕中按下时调用。如果您选择设置墙纸,也会调用 OnDestroy()。不幸的是,WallpaperService 预览中没有覆盖 onBackPressed()、onPause() 或 onStop()。

这是第一次启动预览时调用的生命周期方法的顺序:

OnCreate() ->

OnSharedPreferencesChanged() (if you have any) ->

OnCreate(SurfaceHolder) (Engine subclass) ->

OnSurfaceCreated() (Engine subclass) ->

OnSurfaceChanged() (Engine subclass) ->

OnVisibilityChanged(true) (Engine subclass) ->

OnVisibilityChanged(false) (Engine subclass) ->

OnVisibilityChanged(true) (Engine subclass) ->

OnOffsetsChanged (Engine subclass) 

使用引擎子类的 isPreview() 方法,您至少可以检查您的墙纸是否 运行 处于预览模式。