SensorManager.registerListener需要SensorListener,尽管它已折旧

时间:2010-01-21 00:40:11

标签: android eclipse

@Override
protected void onResume(){
     //super.onResume();
        sensorManager.registerListener((SensorListener) listener,
                SensorManager.SENSOR_ACCELEROMETER
                |SensorManager.SENSOR_ORIENTATION,
                SensorManager.SENSOR_DELAY_NORMAL);
}

private SensorEventListener listener=new SensorEventListener() {
    public void onSensorChanged(SensorEvent event){
        if(event.sensor.getType() == Sensor.TYPE_ORIENTATION){
            System.out.println(event.values[0]);
        }
    }

    public void onAccuracyChanged(Sensor sensor, int accuracy){

    }
};

所以SensorManager.registerListener就是我遇到问题的地方。 Eclipse坚持使用SensorListener,然后在我传递它时发出警告,因为SensorListener已被折旧。我似乎无法解决这个问题,并且非常感谢一些意见!我阅读了上一篇文章,并按照那里的说明无济于事。非常感谢你们!

布拉德

2 个答案:

答案 0 :(得分:1)

我之前遇到过同样的问题。对我来说这是一个简单的修复。我更新到最新的SDK和ADT,并简单地将SensorListener换成了SensorEventListener

sensorManager.registerListener(sensorEventListener, sensorManager.getDefaultSensor(Sensor.TYPE_OREINTATION), SensorManager.SENSOR_DELAY_NORMAL);

完美适合我。

答案 1 :(得分:0)

根据这篇文章的建议:android SensorEventListener problem在这里查看代码:Commonsware compass demo

我坚持同样的事情,它正在帮助我