原文网址: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. [Angular 2] Controlling how Styles are Shared with View Encapsulation

    Style and View Encapsulation is best understood by seeing how each option (Emulated, Native, and Non ...

  2. Linux access

    1.access函数 功能描述:检查调用进程是否可以对指定的文件执行某种操作. 用法: #include <unistd.h> #include <fcntl.h>int ac ...

  3. 零基础学习云计算及大数据DBA集群架构师【企业级运维技术及实践项目2015年1月29日周五】

    LNMP/LEMP项目搭建 { 项目框架 # Linux_____WEB_____PHP_____DB # rhel7_____apache__-(libphp5.so)-__php__-(php-m ...

  4. C#—集合(Collection)

    1.栈(stack<T>) using System; using System.Collections.Generic; using System.Linq; using System. ...

  5. jquery live hover事件的替代写法

    HTML中的hover行为通常在样式中定义,利用jquery实现此效果有两种情况. 第一种是常见的针对页面中静态的元素,以改变元素样式中的border-color为例,写法如下: $(function ...

  6. My.Ioc 代码示例——谈一谈如何实现装饰器模式,兼谈如何扩展 My.Ioc

    装饰器模式体现了一种“组合优于继承”的思想.当我们要动态为对象增加新功能时,装饰器模式往往是我们的好帮手. 很多后期出现的 Ioc 容器都为装饰器模式提供了支持,比如说 Autofac.在 My.Io ...

  7. JavaScript--函数-按值传递

    按值传递(byValue): 两个变量间赋值或将变量作为参数传入函数时,其实都是将原变量中的值,赋值一份给对方(新变量) 对原始类型的值: 修改新变量,不会影响原变量 对引用类型的对象: 通过新变量修 ...

  8. JavaScript--赋值表达式(typeof-delete-void)

    typeof运算符 typeof是一个一元运算符,操作数可以使任意类型,返回值为操作数类型的一个字符串 一.数字类型,如typeof(1),返回的值就是number.当然这个是常规数字,对于非常规的数 ...

  9. http请求头响应头大全

    转:http://www.jb51.net/article/51951.htm 本文为多篇“HTTP请求头相关文章”及<HTTP权威指南>一书的阅读后个人汇总整理版,以便于理解. 通常HT ...

  10. uvalive3026 Period (KMP+结论)

    题目链接:http://vjudge.net/problem/viewProblem.action?id=29342 题目大意:给定字符串,找到每个前缀的最大循环节的个数. 首先当然是kmp预处理,接 ...