我正在使用著名的 GLSurfaceView 包装器 (http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers) 为 android 编写 3d 动态壁纸
当我打开首选项屏幕更改墙纸设置时,这些设置在我的墙纸预览中显示为透明。这很好,因为它可以让我预览所做的设置更改。这很好用,除了一个问题:只要设置在它之上,动态壁纸就会暂停!
如何避免壁纸暂停?
最佳答案
我想出了一个可能有用的解决方法,具体取决于您的墙纸功能...
在我的设置 Activity 中,每当用户进行更改(例如移动 slider 、选中复选框)时,我都会广播一个包含相关设置信息的 Intent
。
在动态壁纸的onCreate
方法中,我动态注册了一个BroadcastReceiver
来接收这些设置事件。我在 onDestroy
中注销了这个接收器。
收到设置广播时,我让墙纸使用新设置绘制单帧。由于设置 Activity 是透明的,这会立即让用户了解墙纸在所选设置下的外观。
同样,使用这种方法,您可以安排壁纸在设置更改后动画几秒钟——或者任何适合您的实现的时间。
关于android - 使用 GLSurfaceView 时如何避免在设置 Activity 打开时暂停 android 动态壁纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4469267/