原文网址: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. arm-linux移植MT7601Uusb无线网卡(小度wifi,360随身WIFI 2代)

    前段时间移植过RT3070.RT5370 http://blog.csdn.net/ofaith12345/article/details/24138399 发现各种arm移植都大同小异,所以就不要纠 ...

  2. [资源分享]神州数码 思科 UCS 虚拟化培训资料

    神州数码 思科 UCS 虚拟化培训资料   点击文件名下载 UCS统一计算平台=.pdf 云计算Demo实验教材_Nexus 5K2K实验.pdf 云计算数据中心架构与技术.pdf 云计算数据中心虚拟 ...

  3. 安全的PHP代码编写准则(转)

    绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据.在采取措施 ...

  4. iOS中navigationItem的titleView如何居中

    开发过程中,发现titleview很难居中,通过各种尝试终于找到了解决方法. 首先清楚你个概念: leftBarButtonItem,导航条中左侧button. rightBarButtonItem, ...

  5. instancetype vs id for Objective-C

    instancetype: 使用 instancetype 编译器和IDE 会做类型检查,而id不会做完整的类型检查. A method with a related result type can ...

  6. jsonp Ajax跨域请求

    什么是JSONP? JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域 ...

  7. JNI type

    ref: JNI type The mapping between the Java type and C type is: Type Signature Java Type Z boolean B ...

  8. 四、C#方法和参数

    方法是一种组合一系列语句以执行一个特定操作或计算一个特殊结果的方式. 它能够为构成程序的语句提供更好的结构和组织.   在面向对象的语言中,方法总是和类关联在一起的,我们用类将相关的方法分为一组. 方 ...

  9. [转]Java远程方法调用

    Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口.它使客户机上运行的程序可以调用远 ...

  10. A simple stack

    // simple stack.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"#include<iostream>using na ...