原文网址:http://blog.csdn.net/aikongmeng/article/details/40457233

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 官方参考

https://source.android.com/devices/sensors/composite_sensors.html

https://developer.android.com/guide/topics/sensors/sensors_motion.html

Developer - Location and Sensors APIs

Developer - Sensors Overview

Sensors SDK API reference

Android Hardware Abstraction Layer - sensors.h

SensorManager

DEmo.zip下载

先简单实现下功能,明天在优化。

  1. package com.example.stepdemp;
  2. import android.content.Context;
  3. import android.hardware.Sensor;
  4. import android.hardware.SensorEvent;
  5. import android.hardware.SensorEventListener;
  6. import android.hardware.SensorManager;
  7. import android.widget.Toast;
  8. public class Pedometer implements SensorEventListener {
  9. private SensorManager mSensorManager;
  10. private Sensor mStepCount;
  11. private Sensor mStepDetector;
  12. private float mCount;//步行总数
  13. private float mDetector;//步行探测器
  14. private Context context;
  15. private static final int sensorTypeD=Sensor.TYPE_STEP_DETECTOR;
  16. private static final int sensorTypeC=Sensor.TYPE_STEP_COUNTER;
  17. public Pedometer() {
  18. }
  19. public Pedometer(Context context) {
  20. this.context = context;
  21. mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
  22. mStepCount = mSensorManager.getDefaultSensor(sensorTypeC);
  23. mStepDetector = mSensorManager.getDefaultSensor(sensorTypeD);
  24. }
  25. public void register(){
  26. register(mStepCount, SensorManager.SENSOR_DELAY_FASTEST);
  27. register(mStepDetector, SensorManager.SENSOR_DELAY_FASTEST);
  28. }
  29. public void unRegister(){
  30. mSensorManager.unregisterListener(this);
  31. }
  32. private void register(Sensor sensor,int rateUs) {
  33. mSensorManager.registerListener(this, sensor, rateUs);
  34. }
  35. @Override
  36. public void onAccuracyChanged(Sensor sensor, int accuracy) {
  37. }
  38. @Override
  39. public void onSensorChanged(SensorEvent event) {
  40. if (event.sensor.getType()==sensorTypeC) {
  41. setStepCount(event.values[0]);
  42. }
  43. if (event.sensor.getType()==sensorTypeD) {
  44. if (event.values[0]==1.0) {
  45. mDetector++;
  46. }
  47. }
  48. }
  49. public float getStepCount() {
  50. return mCount;
  51. }
  52. private void setStepCount(float count) {
  53. this.mCount = count;
  54. }
  55. public float getmDetector() {
  56. return mDetector;
  57. }
  58. }

【转】 android 4.4 Step Counter Sensor计步器的使用的更多相关文章

  1. Step Detector and Step Counter Sensors on Android

    Step Detector and Step Counter Sensors on Android 时间 2014-03-31 11:56:00 Tech Droid 原文  http://techd ...

  2. Android设备中实现Orientation Sensor(图)兼谈陀螺仪

    设备中的三自由度Orientation Sensor就是一个可以识别设备相对于地面,绕x.y.z轴转动角度的感应器(自己的理解,不够严谨).智能手机,平板电脑有了它,可以实现很多好玩的应用,比如说指南 ...

  3. 获取Android设备的方向,Sensor和SensorManager实现手机旋转角度

    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1009/425.html 带有g-sensor的Android设备上可通过API ...

  4. Android Sensor.TYPE_STEP_COUNTER 计步器传感器 步数统计

    注意:使用 计步器传感器 Sensor.TYPE_STEP_COUNTER 获取步数前需要手机支持该传感器 1.学习资料 1.1 SENSOR.TYPE_STEP_COUNTER 地址:开发者文档 翻 ...

  5. Android Sensor Test

    魅蓝note可用 [{Sensor name="MPL Gyroscope", vendor="Invensense", version=1, type=4, ...

  6. android 6.0 高通平台sensor 工作机制及流程(原创)

    最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...

  7. 我的Android进阶之旅------>Android利用Sensor(传感器)实现水平仪功能的小例

    这里介绍的水平仪,指的是比较传统的气泡水平仪,在一个透明圆盘内充满液体,液体中留有一个气泡,当一端翘起时,该气泡就会浮向翘起的一端.    利用方向传感器返回的第一个参数,实现了一个指南针小应用. 我 ...

  8. Android 4.4 KitKat 新特性

    New in Android 4.4 KitKat 本文是一个概览,关于KitKat,也即Android4.4的新东西,先是功能型的,之后是设计上的. 很多特性本文并没有提到,很多提到的特性也只是简短 ...

  9. android基础---->传感器的使用

    现在每部Android 手机里面都会内置有许多的传感器,它们能够监测到各种发生在手机上的物理事件,而我们只要灵活运用这些事件就可以编写出很多好玩的应用程序.今天我们开始简单的传感器使用的学习. 目录导 ...

随机推荐

  1. android 时间对话框 TimePickerDialog简介

     个人也提醒功能的时候用到了TimePickerDialog对话框,查阅了非常多技术资料,可是感觉非常多东西都说的不是非常具体,而且非常多地方.都有不完好的地方.比方有弹出对话框得到的不是系统当前 ...

  2. linux下显卡信息的查看

    lspci  | grep -i vga 这样就可以显示机器上的显卡信息,比如 [root@localhost conf]# lspci | grep -i vga01:00.0 VGA compat ...

  3. 实例化讲解 RunLoop

    实例化讲解RunLoop 之前看过很多有关RunLoop的文章,其中要么是主要介绍RunLoop的基本概念,要么是主要讲解RunLoop的底层原理,很少用真正的实例来讲解RunLoop的,这其中有大部 ...

  4. ActiveNotifications

    The NotificationManager can tell you how many notifications your application is currently showing. T ...

  5. State 状态模式

    简介 状态模式允许一个对象在其内部[状态]改变的时候改变其[行为].这个对象看上去就像是改变了它的类一样. 用一句话来表述,状态模式把所研究的对象的[行为]包装在不同的[状态对象]里,[每一个状态对象 ...

  6. 刚入门的easyui

    这两天看了下easyui的教学先说说自己的一些小小理解吧! ----在使用easyui中也遇到了一个问题 : Uncaught TypeError:cannot call method ‘offset ...

  7. MIME协议

    转:http://blog.csdn.net/flfna/article/details/5048290 MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候 ...

  8. Sql Server 远程过程调用失败

    很多搞开发的同志们,相信在刚刚使用sql server2008+c#2012(2012以上版本)会出现下面图片中的问题,这时因为安装Visual Studio 2013或者2012版本的时候,会自动安 ...

  9. 网络编程Socket之TCP

            服务端: 1. 创建 ServerSocket 对象并监听一个端口 2. 调用accept()方法等待客户端的连接(阻塞式) 3. 输入流(记取客户端发送过来的数据) 4. 输出流(响 ...

  10. 浅析Mysql数据回滚错误的解决方法

    介绍一下关于Mysql数据回滚错误的解决方法.需要的朋友可以过来参考下   MYSQL的事务处理主要有两种方法.   1.用begin,rollback,commit来实现   begin 开始一个事 ...