サービスを SensorEventListener にすることは可能ですか?
私がやろうとしているのは、センサー値が変化したときに何かを行うバックグラウンド サービスを実行することです。サービスの開始と停止を示すトースト メッセージを確認できますが、センサーの値が変化したと思われるときに、センサーがアクティブになったことを示すトースト メッセージが表示されません。
これは私が持っているものです:
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();
}
}