你知道一种检测在动态壁纸预览模式屏幕上按下后退或设置壁纸按钮的方法吗?
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() 方法,您至少可以检查壁纸是否在预览模式下运行。