Livewallpaper在Android中设置时出现奇怪的异常

时间:2011-04-24 05:41:37

标签: android game-engine live-wallpaper andengine

04-24 13:30:59.312: VERBOSE/RenderScript(6044): RS Thread exited
04-24 13:30:59.320: ERROR/libEGL(6044): call to OpenGL ES API with no current context (logged once per thread)
04-24 13:30:59.335: WARN/WallpaperService(6044): Ignoring updateSurface: destroyed
04-24 13:30:59.335: WARN/WindowManager(108): Window android.view.IWindow$Stub$Proxy@408968d0 is already added
04-24 13:30:59.355: DEBUG/dalvikvm(6083): GC_EXTERNAL_ALLOC freed 23K, 52% free 2598K/5379K, external 1625K/2137K, paused 55ms
04-24 13:30:59.425: DEBUG/GLWallpaperService(6083): onSurfaceDestroyed()
04-24 13:30:59.496: WARN/InputQueue-JNI(6044): Input channel is not initialized.
04-24 13:30:59.515: DEBUG/AndroidRuntime(6044): Shutting down VM
04-24 13:30:59.539: WARN/dalvikvm(6044): threadid=1: thread exiting with uncaught exception (group=0x40015560)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): FATAL EXCEPTION: main
04-24 13:30:59.640: ERROR/AndroidRuntime(6044): java.lang.RuntimeException: Failed to register input channel.  Check logs for details.
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at android.view.InputQueue.nativeRegisterInputChannel(Native Method)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at android.view.InputQueue.registerInputChannel(InputQueue.java:92)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at android.service.wallpaper.WallpaperService$Engine.updateSurface(WallpaperService.java:521)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:904)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at android.os.Looper.loop(Looper.java:123)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at android.app.ActivityThread.main(ActivityThread.java:3683)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at java.lang.reflect.Method.invokeNative(Native Method)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at java.lang.reflect.Method.invoke(Method.java:507)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-24 13:30:59.640: ERROR/AndroidRuntime(6044):     at dalvik.system.NativeStart.main(Native Method)

我正在开发一个使用名为Andengine(andengine.org)的开源游戏引擎的Livewallpaper,它现在工作正常,除非有时当用户将我的Livewallpaper设置为墙纸时,会抛出异常,说“注册输入失败”检查日志以获取详细信息。“但是,令人担忧的事情是Livewallpaper仍然有效并且没有退出。

知道可能导致此问题的原因,或者我如何解决它?

1 个答案:

答案 0 :(得分:2)

抱歉,我只能发现InputQueue“为应用程序提供了一种接收传入输入事件的机制。目前只能从本机代码中使用”。

检查andengine中的GLSurfaceView类。这可能会让你知道你的壁纸有什么问题

您可能还想检查一下这种情况发生的原因:

04-24 13:30:59.320: ERROR/libEGL(6044): call to OpenGL ES API with no current context (logged once per thread)