2010-01-21 95 views
1
@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时折旧,然后继续发出呜呜声。我似乎无法得到这个工作,并会非常感激一些输入!我读了上一篇文章,并按照指示在那里无济于事。非常感谢你!SensorManager.registerListener希望SensorListener尽管其贬值

布拉德

+0

嗨,你的sensorManager对象是如何初始化的?尝试将其置于onCreate方法中: sensorManager =(SensorManager)getSystemService(Context.SENSOR_SERVICE); – keyboardP 2010-01-21 00:54:14

+0

公共类ShakeHard extends活动{0}在首次创建活动时调用。 */ \t public String fillMeUpText =“YEA YEA”; \t private SensorManager sm = null; TextView xView = null; TextView yView = null; TextView zView = null; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); sm =(SensorManager)getSystemService(Context.SENSOR_SERVICE); – Brad 2010-01-21 14:52:06

+0

对不起,这没有正确格式,我初始化为空作为一个类变量,然后在主要分配它与以下... sm =(SensorManager)getSystemService(Context.SENSOR_SERVICE); – Brad 2010-01-21 14:53:22

回答

1

我是有这个同样的问题。对我来说这是一个简单的修复。我更新到最新的SDK和ADT,并简单地用SensorEventListener换出SensorListener

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

适合我。

+0

伟大的,为我工作! – JavaNullPointer 2013-07-15 14:33:57