Android近接センサーの値取得

Android近接センサーの値取得

近接センサーは、端末に物体が接近しているときの距離を検出するセンサー

これも、SensorManagerをつかえば値を取得できる

まず、SensorManagerのインストールを取得

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);

次に、近接センサーの登録
これも
SensorManagerクラスの
registerListener()で登録

private void registerSensor(){

if(mSensorManager ==null){

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);

mSensorManager.registerListener(
this, 
mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY),
mSensorManager.SENSOR_DELAY_UI
);
}
}

次に、バッテリー消費対策のため
センサー解除の実装

SensorManagerクラスの
unregisterListener()により解除可能になる

private void unregisterSensor(){

if(mSensorManager !=null){

mSensorManager.unregisterListener(this);
mSensorManager = null;

}
mvibrator.cancel();
}

これで登録と解除はできるので
近接センサーの値取得

近接センサーの値は、
onServiceChanged()
のeventオブジェクトに格納されているので
そこから取得する

@Override
public void onSensorChanged(SensorEvent event){

//近接センサーの値を取得
if(event.sensor.getType() == Sensor.TYPE_PROXIMITY){

if(event.values[0] ==0){
mVibrator.vibrate(new long[] {
100, 100
}, 0);

}else{

mVibrator.cancel();
}
}
}

今回は、近接センサーの値が 0 なら
バイブで振動するようにしている

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です