Android Step Counter & Detector Sensor
2017-09-29 17:54
411 查看
package zhangphil.sensor; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity { private String TAG = "ZHANG PHIL"; private SensorManager mSensorManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); startSensor(); } /** * 启动传感器。 */ private void startSensor() { mSensorManager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE); Sensor mStepCounterSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER); Sensor mStepDetectorSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR); if (mSensorManager == null || mStepCounterSensor == null || mStepDetectorSensor == null) { throw new UnsupportedOperationException("设备不支持"); } mSensorManager.registerListener(mSensorEventListener, mStepCounterSensor, SensorManager.SENSOR_DELAY_NORMAL); mSensorManager.registerListener(mSensorEventListener, mStepDetectorSensor, SensorManager.SENSOR_DELAY_NORMAL); } private SensorEventListener mSensorEventListener = new SensorEventListener() { private float step, stepDetector; @Override public void onSensorChanged(SensorEvent sensorEvent) { /** * 计步计数传感器传回的历史累积总步数 */ if (sensorEvent.sensor.getType() == Sensor.TYPE_STEP_COUNTER) { step = sensorEvent.values[0]; Log.d(TAG, "STEP_COUNTER:" + step); } /** * 计步检测传感器检测到的步行动作是否有效? */ if (sensorEvent.sensor.getType() == Sensor.TYPE_STEP_DETECTOR) { stepDetector = sensorEvent.values[0]; Log.d(TAG, "STEP_DETECTOR:" + stepDetector); if (stepDetector == 1.0) { Log.d(TAG, "一次有效的步行"); } } } @Override public void onAccuracyChanged(Sensor sensor, int i) { } }; @Override protected void onDestroy() { super.onDestroy(); mSensorManager.unregisterListener(mSensorEventListener); } }
相关文章推荐
- Android模拟计步器,即Step Counter Sensor, Step Detector Sensor
- Android Step Counter & Detector Sensor
- Android模拟计步器,即Step Counter Sensor, Step Detector Sensor
- Step Detector and Step Counter Sensors on Android
- android中两种计步器的区别 TYPE_STEP_DETECTOR与TYPE_STEP_COUNTER
- Android中手势监听GestureDetector基础&android:onTouch()和onTouchEvent()的区别
- Android中怎样使用计步器传感器 "TYPE_STEP_DETECTOR"
- Android Camera sensor…
- Android实战简易教程<六十二>(电子Sensor精确罗盘)
- Step Detector and Step Counter
- <4>Android4.2 G-Sensor工作流程
- Android - Fragment StepCounterStaticFragment not attached to Activity
- android:screenOrientation="nosensor"
- Android 特色开发--Sensor development && Voice recognition
- Android Wear Step Sensor
- android两对概念辨析:ouchEvent vs. GestureDetector & Srcoller vs. ScrollView
- Android&nbsp;Sensor传感器系统架构初探
- Android&nbsp;Sensor传感器系统架构初探
- nfs&nbsp;启动Android
- Android 在Eclipse中使用Ant Build构建项目时出现的"crunch"