Android 是否可以在实时壁纸上切换发动机类别? 背景
假设我有一个相对简单的实时墙纸应用程序,它使用Android 是否可以在实时壁纸上切换发动机类别? 背景,android,live-wallpaper,Android,Live Wallpaper,假设我有一个相对简单的实时墙纸应用程序,它使用surfaceHolder.lockCanvas()(示例)通过画布显示简单内容 live wallpaper类(扩展了WallperService)必须通过onCreateEngine函数将引擎返回给它一次 问题 如果我想支持更复杂的内容,比如视频,事情就会变得更复杂。为此,我找到了一个很好的库: 该库使用自己的引擎类实现(OpenGL)来显示视频内容 不幸的是,Android上似乎没有办法在运行时在引擎实例之间切换 我发现了什么 我试图调用st
surfaceHolder.lockCanvas()
(示例)通过画布显示简单内容
live wallpaper类(扩展了WallperService
)必须通过onCreateEngine
函数将引擎返回给它一次
问题
如果我想支持更复杂的内容,比如视频,事情就会变得更复杂。为此,我找到了一个很好的库:
该库使用自己的引擎类实现(OpenGL)来显示视频内容
不幸的是,Android上似乎没有办法在运行时在引擎实例之间切换
我发现了什么
stopSelf
,但由于该服务绑定到操作系统,因此不可能。我还试图覆盖onBind
,但我不能,因为它被标记为final
。我也没有看到任何可能的反射解决方案
System.exit()
。这会导致它重新启动,并重新创建它应该使用的引擎