是否可以/允许服务也是SensorEventListener?
我尝试做的是在传感器值发生变化时运行后台服务。我能够看到服务开始和停止的Toast消息,但是当我认为传感器值发生变化时,我没有得到传感器被激活的祝酒词。
这就是我所拥有的:
public class MyService extends Service implements SensorEventListener
{
private SensorManager mSensorManager;
private Sensor mSensor;
public void onCreate()
{
Toast.makeText(this,"Service Created", Toast.LENGTH_SHORT).show();
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
}
public void onStart(Intent intent, int startId)
{
Toast.makeText(this, "Service started", Toast.LENGTH_SHORT).show();
}
public void onDestroy()
{
super.onDestroy();
Toast.makeText(this,"Service DESTROYED!!", Toast.LENGTH_SHORT).show();
}
public void onAccuracyChanged(Sensor sensor, int accuracy)
{
//do nothing
}
public void onSensorChanged(SensorEvent event)
{
Toast.makeText(this,"Sensor active", Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:1)
正如@zapl在上面的评论中提到的那样
如果你想收到活动,你应该在某处
mSensorManager.registerListener(this...)
进行.. - zapl
只是我需要的答案。