Andengine SensorManager Error

168 Views Asked by At

I have a problem like this: My sensor works normally mostly. But sometimes sensor don't work on Samsung Galaxy Gio. May be this is about device specifications. In runtime I got this error but no crash produced. Just sensor does not work, my ball does not move via gravity which is created by sensor.

01-04 01:40:56.924: E/SensorManager(30236): registerListener :: handle = 0  name= BMA220 delay= 60 Listener= com.serefakyuz.com.utils.Engine@4a507950
01-04 01:40:56.924: E/SensorManager(30236): =======>>>Sensor Thread RUNNING <<<========
01-04 01:40:56.934: E/SensorHAL(30236): __data_data_open  31 32
01-04 01:43:03.376: E/SensorManager(30326): registerListener :: handle = 0  name= BMA220 delay= 60 Listener= com.serefakyuz.com.utils.Engine@4a507930

And it is the code which i refresh gravity:

@Override
public void onAccelerometerChanged(AccelerometerData pAccelerometerData) 
{
    float k = 10f;
    Vector2 gravity = null;
    if(mLevelScene.isWaterExist)
    {
        if((mLevelScene.ballPlayer.oAnimatedSprite.getX() > mLevelScene.waterCoordinates[0] && mLevelScene.ballPlayer.oAnimatedSprite.getX() < mLevelScene.waterCoordinates[0] + mLevelScene.water.oTextureWidth) &&
                (mLevelScene.ballPlayer.oAnimatedSprite.getY() + 32 > mLevelScene.waterCoordinates[1] && mLevelScene.ballPlayer.oAnimatedSprite.getY() < mLevelScene.waterCoordinates[1] + mLevelScene.water.oTextureHeight))
        {
             gravity = Vector2Pool.obtain(pAccelerometerData.getX()*k, pAccelerometerData.getY()*k - ( (mLevelScene.ballPlayer.oAnimatedSprite.getY() - mLevelScene.water.oSprite.getY())*3/4 + 20));
             mDampingCount = 2.0f;
        }
        else
        {
            gravity = Vector2Pool.obtain(pAccelerometerData.getX()*k, pAccelerometerData.getY()*k);
            mDampingCount = 1.5f;
        }
    }
    else
    {
         gravity = Vector2Pool.obtain(pAccelerometerData.getX()*k, pAccelerometerData.getY()*k);
         mDampingCount = 1.5f;
    }

    mPhysicsWorld.setGravity(gravity);
    Vector2Pool.recycle(gravity);
}
0

There are 0 best solutions below