您好,登錄后才能下訂單哦!
package uni.sensor; import java.util.Iterator; import java.util.List; import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.util.Log; public class SensorDemoActivity extends Activity { //設(shè)置LOG標(biāo)簽 private static final String TAG = "sensor"; private SensorManager sm; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //創(chuàng)建一個SensorManager來獲取系統(tǒng)的傳感器服務(wù) sm = (SensorManager)getSystemService(Context.SENSOR_SERVICE); //選取加速度感應(yīng)器 int sensorType = Sensor.TYPE_ACCELEROMETER; sm.registerListener(myAccelerometerListener,sm.getDefaultSensor(sensorType),SensorManager.SENSOR_DELAY_NORMAL); } final SensorEventListener myAccelerometerListener = new SensorEventListener(){ //復(fù)寫onSensorChanged方法 public void onSensorChanged(SensorEvent sensorEvent){ if(sensorEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER){ Log.i(TAG,"onSensorChanged"); //圖解中已經(jīng)解釋三個值的含義 float X_lateral = sensorEvent.values[0]; float Y_longitudinal = sensorEvent.values[1]; float Z_vertical = sensorEvent.values[2]; Log.i(TAG,"\n heading "+X_lateral); Log.i(TAG,"\n pitch "+Y_longitudinal); Log.i(TAG,"\n roll "+Z_vertical); } } //復(fù)寫onAccuracyChanged方法 public void onAccuracyChanged(Sensor sensor , int accuracy){ Log.i(TAG, "onAccuracyChanged"); } }; public void onPause(){ sm.unregisterListener(myAccelerometerListener); super.onPause(); } }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。