加速度计在所有设备中都不能正常工作

时间:2013-01-18 00:35:49

标签: android andengine accelerometer

这是一个非常开放的问题。

我们使用Andengine为Android开发了一款游戏。僵尸来找你,他们“抓住”你,并且要把它们甩掉,你必须移动设备。在几个设备中存在一个错误,其中一个人无法通过移动设备来摇动僵尸。我们无法在我们测试游戏的设备上复制此错误。

所以我的问题是:硬件是否有可能与某些Android功能完全兼容?我的意思是那里有大量的Android设备。

我问这个问题是为了更好地了解如何继续。我们是否应该进一步挖掘编程(正如我们一直在做的那样,未成功)或实施一种不同的方式来撼动僵尸(没有加速度计)。

提前致谢

如果有人想要更好地了解这个错误,那就是游戏 https://play.google.com/store/apps/details?id=com.exmgames.cfdesperationlite

1 个答案:

答案 0 :(得分:1)

问题可能是使用Accelerometer的频率。注册时不要在android常量下面使用。

mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);

这些值对于不同的设备是不同的。 即例如:SENSOR_DELAY_UI在一个设备中给出100Hz,在另一个设备中给出50Hz,在另一个设备中给出125Hz。 始终使用硬编码频率。

int SENSOR_DELAY_FASTEST    get sensor data as fast as possible
int SENSOR_DELAY_GAME   rate suitable for games
int SENSOR_DELAY_NORMAL rate (default) suitable for screen orientation changes
int SENSOR_DELAY_UI rate suitable for the user interface

使用硬编码值,以微秒为单位,如频率1 Hz

mSensorManager.registerListener(this, mAccelerometer,1000000);

希望它能解决。