我想在服务中注册一个SENSOR_ACCELEROMETER,但结果是一个nullexception.Following是我的代码:
asensor = new AccerSensor(context);//the sensoreventlistener
Log.i("wogua", "creating"+asensor.toString());
manager.registerListener(asensor,manager.getDefaultSensor(SensorManager.SENSOR_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST);
Exception:
Caused by: java.lang.NullPointerException::
at com.wogua.mobileprotected.service.LostProtectService.onCreate(LostProtectService.java:36)我不知道问题出在哪里,sensoreventlistener的实例不是null::::com.wogua.mobileprotected.sensor.AccerSensor@41bf3f20
这怎么可能是空的,:manager= (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
发布于 2012-11-23 17:37:46
这就是我的工作方式:
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if (mAccelerometer != null) {
// Success! There's an accelerometer
mSensorManager.registerListener(this, mAccelerometer,
SensorManager.SENSOR_DELAY_FASTEST);
} else {
Toast.makeText(this, "This device doesnt support accelerometer",
Toast.LENGTH_SHORT).show();
stopSelf();
}发布于 2012-11-23 18:30:41
manager未初始化,这一点非常确定
https://stackoverflow.com/questions/13526256
复制相似问题