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)中,这可能是你数学中的一个问题