Java Android传感器管理器不工作
对不起,各位,作为主题,我没有看到我的角和手镯改变Java Android传感器管理器不工作,java,android,Java,Android,对不起,各位,作为主题,我没有看到我的角和手镯改变 @Override public void onCreate(Bundle savedInstanceState) { sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); } public void onResume() { super.onResume(); if (aAngleList.size() <= 50){
@Override
public void onCreate(Bundle savedInstanceState) {
sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
}
public void onResume()
{
super.onResume();
if (aAngleList.size() <= 50){
List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);
if (sensors.size() > 0 && sensors.size() <= 10) {
sensorManager.registerListener(this, sensors.get(0), SensorManager.SENSOR_DELAY_FASTEST);
}
}
else {
sensorManager.unregisterListener(this);
for(int i = 0; i < aAngleList.size(); i++){
aAngleTotal += aAngleList.get(i);
bAngleTotal += bAngleList.get(i);
aAngleAverage = aAngleTotal / aAngleList.size();
bAngleAverage = bAngleTotal / aAngleList.size();
}
calculatePosB(aAngleAverage, bAngleAverage);
calculatePosC(aAngleAverage, bAngleAverage);
calculatePosD(aAngleAverage, bAngleAverage);
Log.d("ForDebug", Double.toString(bAngleAverage));
}
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
// TODO Auto-generated method stub
}
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
aAngle = -(Math.toDegrees(Math.acos(event.values[0]/Math.pow(Math.pow(event.values[0],2)+Math.pow(event.values[1],2)+Math.pow(event.values[2],2), 0.5))) - 90);
bAngle = -(Math.toDegrees(Math.acos(event.values[1]/Math.pow(Math.pow(event.values[0],2)+Math.pow(event.values[1],2)+Math.pow(event.values[2],2), 0.5))) - 90);
aAngleList.add(aAngle);
bAngleList.add(bAngle);
)
@覆盖
创建时的公共void(Bundle savedInstanceState){
sensorManager=(sensorManager)getSystemService(传感器服务);
}
恢复时公开作废()
{
super.onResume();
如果(aAngleList.size()0&&sensors.size()从未调用onSensorChanged或值未更改?为什么专门使用“sensors.size())嗯,我想得到10个不同的值来求平均值。所以我想也许我只能注册10次?我在手机屏幕上显示结果,但角度始终为0。此外,如果我的角度列表没有得到任何结果,我想我会得到运行时错误,但我没有。因此我的onSensorChanged向我的列表添加了一些内容。尝试显示这些值在logcat(event.values,而不是angles)中,这可能是你数学中的一个问题