AndEngine加速度计随机失败?

时间:2015-01-02 20:28:53

标签: java android andengine accelerometer

我正在开发一个应用程序,现在有一个随机出现的错误。有时当我尝试加载扩展onSensorChangeListener的场景时,应用程序将崩溃。我花了很长时间才得到了日志猫(因为这个bug是随机发生的)而且我不明白它是什么意思:

01-02 12:17:10.942: E/MediaPlayer-JNI(24294): QCMediaPlayer mediaplayer NOT present
01-02 12:17:11.102: E/MediaPlayer(24294): Should have subtitle controller already set
01-02 12:17:15.352: E/SensorManager(24294): Exception dispatching input event.
01-02 12:17:15.352: E/AndroidRuntime(24294): FATAL EXCEPTION: main
01-02 12:17:15.352: E/AndroidRuntime(24294): Process: com.magnusworks.justtic_tac_toe, PID: 24294
01-02 12:17:15.352: E/AndroidRuntime(24294): java.lang.NullPointerException
01-02 12:17:15.352: E/AndroidRuntime(24294):    at com.magnusworks.justtic_tac_toe.MainGameScene.onSensorChanged(MainGameScene.java:250)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at android.hardware.SystemSensorManager$SensorEventQueue.dispatchSensorEvent(SystemSensorManager.java:474)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at android.os.MessageQueue.nativePollOnce(Native Method)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at android.os.MessageQueue.next(MessageQueue.java:138)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at android.os.Looper.loop(Looper.java:131)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at android.app.ActivityThread.main(ActivityThread.java:5678)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at java.lang.reflect.Method.invokeNative(Native Method)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at java.lang.reflect.Method.invoke(Method.java:515)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
01-02 12:17:15.352: E/AndroidRuntime(24294):    at dalvik.system.NativeStart.main(Native Method)

至于场景,它看起来像这样(是的,该类扩展了onClickListener):

@Override
    public void onSensorChanged(SensorEvent event) {
        switch(event.sensor.getType()){
        case Sensor.TYPE_ACCELEROMETER:
            Vector2 gravity = Vector2Pool.obtain(-event.values[0] * 10, event.values[1] * 10);
            physicsWorld.setGravity(gravity);
            Vector2Pool.recycle(gravity);
            break;
        }

    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub

    }

有没有人对我为什么一直收到此错误有任何想法?

编辑:

@Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub

    }

这是目前在mainGameScene的第250行,但是我对代码做了一些更改,所以我不完全确定这是否是logcat引用的内容。我一直试图再次崩溃所以我可以看到新的logcat,但崩溃总是随机的,所以它不可能强制:/

0 个答案:

没有答案