原文网址: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. [React Flow] Up and Running with Facebook Flow for Typed JavaScript

    Install: npm i -D flow-binnpm i -g flow-bin Init: flow init Script: "typecheck": "flo ...

  2. mysql源码分析

    http://blog.csdn.net/u012935160/article/category/2697485

  3. 亲测 安装 mysql5.5 64位

    1.选择 customn 更改安装目录2.选择 develop 模式,默认,占用内存较小. server machine 中等内存 dedicate mysql server machine 专用服务 ...

  4. 一段jquery代码,保存

    @CHARSET "UTF-8"; #table_id tbody tr.odd td:hover{ background-color:#93CFE5; } #table_id t ...

  5. Android虚拟机GenyMotion

    GenyMotion:需要VirtualBox,安装后可以选择机型,这个应该是Android for x86的一个改进版虚拟机,在原版的基础上针对不同机型用了和原机型同样的GUI,但是发现缺少了Goo ...

  6. http请求头响应头大全

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

  7. 【USACO 3.2.1】阶乘

    [描述] N的阶乘写作N!表示小于等于N的所有正整数的乘积.阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了.你的任务是找到阶乘最后面的非零位.举个例子,5!=1* ...

  8. 动态内存分配(new)和释放(delete)

    在之前我们所写过的程序中,所必需的内存空间的大小都是在程序执行之前就已经确定了.但如果我们需要内存大小为一个变量,其数值只有在程序运行时 (runtime)才能确定,例如有些情况下我们需要根据用户输入 ...

  9. QComboBox实现复选功能

    需求: 下拉列表有复选功能 不可编辑 显示所有选中项   关于QComboBox的复选功能有几种方案: QStandardItemModel + QStandardItem QListWidget + ...

  10. phpcms首页调用会员头像及金钱、积分等信息,并按照积分点数排列

    <div class="box"> <h5>最新会员</h5> <div class="col-auto">&l ...