センサーを使うには
getSystemService()で
SensorManagerを取得
SensorManagerの
getSensorList()に
TYPE_ACCELEROMETER
加速度センサーを指定し、リストを得る
このリストの中から
list.get(0)
で加速度センサーを取得
あえて、指定しているのは
機種により複数のセンサー搭載もあるから
onResume()
で
SensorEventListenerを登録
登録は
mSensorManager.registerListener()
onStop()
でイベントリスナーの登録解除
解除は
mSensorManager.uNregisterListener()
ちなみに、
SensorEventListenerを
implicationしたら
以下のメソッドも実装すること
public void onAccuracyChanged(Sensor sensor,int accuracy)
public void onSensorChanged(SensorEvent event)
onAccuracyChanged()
は
センサー搭載の精度が変化した時に、呼び出される
onSensorChanged()は
センサーの値が変化したら呼び出される
onSensorChanged()
の引数 event のvalues配列には各軸の値があり
values[0] がX軸
values[1] がY軸
values[3] がZ軸
になります
ちなみに、定数も定義されているので
X軸なら
SensorManager.DATA_X
Y軸なら
SensorManager.DATA_Y
Z軸なら
SensorManager.DATA_Z