Android超精准计步器开发

亲测在小米.魅族.华为上可用,该app采用后台service计歩服务,所以只要app不被手机杀死在后台也是可以正常计歩的。上图:

1.需要在AndroidManifest.xml中添加权限

复制代码

2.检测手机是否支持计歩

/**

* 判断该设备是否支持计歩

*

* @param context

* @return

*/

@TargetApi(Build.VERSION_CODES.KITKAT)

public static boolean isSupportStepCountSensor(Context context) {

SensorManager sensorManager = (SensorManager) context

.getSystemService(context.SENSOR_SERVICE);

Sensor countSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);

Sensor detectorSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);

return countSensor != null || detectorSensor != null;

}复制代码

3.功能使用

private boolean isBind = false;

private Messenger mGetReplyMessenger = new Messenger(new Handler(this));

private Messenger messenger;

/**

* 开启计步服务

*/

private void setupService() {

Intent intent = new Intent(this, StepService.class);

isBind = bindService(intent, conn, Context.BIND_AUTO_CREATE);

startService(intent);

}

/**

* 从service服务中拿到步数

*

* @param msg

* @return

*/

@Override

public boolean handleMessage(Message msg) {

switch (msg.what) {

case Constant.MSG_FROM_SERVER:

cc.setCurrentCount(10000, msg.getData().getInt("step"));

break;

}

return false;

}

/**

* 用于查询应用服务(application Service)的状态的一种interface,

* 更详细的信息可以参考Service 和 context.bindService()中的描述,

* 和许多来自系统的回调方式一样,ServiceConnection的方法都是进程的主线程中调用的。

*/

ServiceConnection conn = new ServiceConnection() {

/**

* 在建立起于Service的连接时会调用该方法,目前Android是通过IBind机制实现与服务的连接。

* @param name 实际所连接到的Service组件名称

* @param service 服务的通信信道的IBind,可以通过Service访问对应服务

*/

@Override

public void onServiceConnected(ComponentName name, IBinder service) {

try {

messenger = new Messenger(service);

Message msg = Message.obtain(null, Constant.MSG_FROM_CLIENT);

msg.replyTo = mGetReplyMessenger;

messenger.send(msg);

} catch (RemoteException e) {

e.printStackTrace();

}

}

/**

* 当与Service之间的连接丢失的时候会调用该方法,

* 这种情况经常发生在Service所在的进程崩溃或者被Kill的时候调用,

* 此方法不会移除与Service的连接,当服务重新启动的时候仍然会调用 onServiceConnected()。

* @param name 丢失连接的组件名称

*/

@Override

public void onServiceDisconnected(ComponentName name) {

}

};

复制代码

android精准计步器,Android 超精准计步器开发 - Dylan 计步相关推荐

  1. 【Android自定义View实战】之仿QQ运动步数圆弧及动画,Dylan计步中的控件StepArcView

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/52936609 [DylanAndroid的csdn博客] 在之前的Androi ...

  2. android 判断手机计步_超精准的Android手机计步器开发

    亲测在小米.魅族.华为上可用,该app采用后台service计歩服务,所以只要app不被手机杀死在后台也是可以正常计歩的.上图: 1.需要在AndroidManifest.xml中添加权限 andro ...

  3. 目前最精准的Android开源计步器

    作者:码农一颗颗 链接:http://www.jianshu.com/p/cfc2a200e46d 昨天逛简书看到的文章,记得很久前也有朋友咨询计步器怎么实现,如何保活之类的,刚好看到了文章,然后下载 ...

  4. Android 开源控件与常用开发框架开发工具类

    Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...

  5. 2017 github 上android 源码(适合工作中开发)

    转载: http://blog.csdn.NET/a774057695/article/details/49889437 https://github.com/XinRan5312/Android-o ...

  6. BCH收银APP已在Android系统上下载超10000次

    Bitcoin Cash Register 近日,"比特币耶稣"Roger Ver在BCH论坛r/reddit发帖称,BCH收银APP"Bitcoin Cash Regi ...

  7. 【Android游戏开发十七】让玩家自定义手势玩转Android游戏!—Android Gesture之【输入法手势技术】...

    为什么80%的码农都做不了架构师?>>>     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigam ...

  8. XM7 FOR ANDROID,如何使用Android Studio开发Gradle插件

    缘由 首先说明一下为什么会有这篇文章.前段时间,插件化以及热修复的技术很热,Nuwa热修复的工具NuwaGradle,携程动态加载技术DynamicAPK,还有希望做最轻巧的插件化框架的Small.这 ...

  9. 2017下半年掘金日报优质文章合集:Android篇,android开发工程师

    GitHub 整理|那些优秀的开源时间日期选择器,总有一款适合你 Android程序员搭建一个属于自己的服务器,不再求各种公共API XRadarView 一个可高度自定义的雷达图控件 手把手教你写高 ...

最新文章

  1. mysql join查询
  2. 【深度学习】计算机视觉相关技术探索(一)
  3. listen()与accept()函数的区别
  4. python tensorflow tf.session类
  5. 进程间通信--IPC
  6. 吴涛 :低延迟传输协议和新Codec将成为热点
  7. react设置默认props
  8. maven系列一:pom.xml文件详解
  9. 使用RxJava和SseEmitter进行服务器发送的事件
  10. 斗地主AI算法——第八章の被动出牌(2)
  11. VS20“.NET研究”10自定义新建文件模版
  12. 计算机网络 第一章 计算机网络体系结构
  13. AtCoder Grand Contest 025 B - RGB Coloring
  14. 【转载】google搜索从入门到精通
  15. power design设计数据库
  16. This account is currently not available 解决办法
  17. 科普:论文上附有的 arXiv 是干嘛的
  18. 解决chm文件打开后跳到某一主页方法
  19. PS切图 - (快捷键)操作方法
  20. SCI数据库使用手册(无图版)

热门文章

  1. windows7内存诊断工具有用吗_开机windows内存诊断工具怎么打开_win7开机出现内存诊断工具如何使用...
  2. html img图片不平铺,如何在css中设置图片不平铺
  3. 打开控制面板DOS命令大全
  4. 云南计算机专业本科学校,云南七成高校开设计算机专业 就业形势不容乐观
  5. Linux学习资源推荐
  6. 基于android开发共享停车位的设计与实现(含源码及毕业设计)
  7. 双目立体视觉:SAD算法
  8. 98%的人都不会使用这6种地图可视化方法,学会直接涨薪5K
  9. 网易博客日志:COSTAS环低通滤波器设计及环路增益设计
  10. 关于STM32与GSM模块之间简单应用