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

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

android:name="android.hardware.sensor.stepcounter"

android:required="true" />

android:name="android.hardware.sensor.stepdetector"

android:required="true" />

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手机计步器开发相关推荐

  1. android 判断手机计步_干货:电脑控制手机 一定不能错过的神器

    用电脑控制手机,怎么少得了脚本,前面我已经提到了自己很多使用Total Control脚本功能的实例.不止于此,Total Control提供了很多应用程序相关的 JS API,之前已经分享了如何通过 ...

  2. android 判断手机计步_一种在Android手机上实现计步器的方法

    一种在Android手机上实现计步器的方法 [技术领域] [0001] 本发明设及一种在Amlroid手机上实现计步器的方法,特别设及对手机加速度传 感器数据的采集.处理及应用技术,属于传感器应用领域 ...

  3. 安卓手机来电防火墙_超好用的手机APP推荐,绝对有你不知道的!

    1)奥维互动地图浏览器 ★★★★★ 小编推荐: 探索未知世界的最佳伴侣 支持手机: 安卓/苹果 奥维互动地图浏览器集多种知名地图于一体,拥有强大的设计功能与地理信息展现技术,可满足各行各业地理信息规划 ...

  4. android 获取芯片版本_谷歌:未来Android手机将获得4年软件更新

    来源:快科技 12月17日消息,据XDA报道,谷歌与高通合作,宣布从骁龙888旗舰芯片开始,谷歌将为未来的Android手机提供3个Android大版本更新以及4年的安全更新支持. 比如即将发布的三星 ...

  5. 一键分享手机代码_通过广告路由器指定手机浏览器自动认证WIFI上网 附代码

    说说应用过程,下面用手机QQ浏览器为例.在路由器搭建免费WIFI,用户连接免费WIFI后,使用手机QQ浏览器点击打开任意网页即可自动通过认证并上网,有的手机会自动打开认证网页,如果使用其他手机浏览器则 ...

  6. android强制全屏_如何强制任何Android应用进入全屏浸入模式(无生根)

    android强制全屏 Google released an Android version of Chrome in 2012, and have never bothered to give it ...

  7. python设计游戏使用手机操作_如何使用python控制手机(以微信游戏跳一跳为例)

    打开手机的开发者选项,本人小米手机,系统android 7.0(miui 9.1),设置->我的设备->全部参数(点击miui版本5次,即可开启开发者模式) 设置->更多设置(倒数第 ...

  8. android bitmap转图片_带你用Android自定义View实现网易云音乐宇宙尘埃特效

    作者:Mlx, 链接:https://juejin.im/post/6871049441546567688 前言 前段时间,女朋友用网易云音乐的时候看到一个宇宙尘埃特效,说很好看,想要让我给她开VIP ...

  9. obs可以装手机吗?_原神PC和手机数据互通吗 PC和手机可以一起玩吗

    在原神中,很多玩家都在PC端创建了角色,那么疑问来了,PC端与手机端的账号会是互通的吗?下面小编就为大家带来原神PC和手机数据互通吗的相关内容,一起来看看吧! 更多攻略:原神攻略大全 PC和手机数据互 ...

最新文章

  1. 计算机图画大赛作品六年级,小学学生电脑绘画比赛活动方案
  2. 定义变量时无引号,单引号,双引号区别与特点:
  3. centos7安装FTP
  4. 004_Ajax服务器响应
  5. linux ubuntu如何解压rar文件?unrar
  6. CentOS6.7安装SBT
  7. 网页登录接口php,thinkphp-登入接口示例
  8. 又一大波笑到肾抽筋,笑出六块腹肌的段子
  9. 关于C#监视剪贴板信息
  10. PHP关键字可以作变量名吗,在PHP中定义了很多关键字,这些关键字不能当做变量名。...
  11. MongoDB 复制集的结构以及基本概念
  12. int main(int argc,char* argv[])详解
  13. 失业了又不想进厂打工,怎么办
  14. Oracle中用户和架构之间的区别?
  15. PHPeclipse操作svn
  16. android第三方集成埋点,Android集成mPass 埋点遇到的问题
  17. idea类和方法注释模板配置
  18. 实习僧[shixiseng.com]爬虫实战笔记
  19. 测试三极管的口诀[转]
  20. 银河麒麟专用服务器RPM软件包打包方式。

热门文章

  1. python自动登录网站爬取数据_Python爬虫实战:自动化登录网站,爬取商品数据
  2. 传奇脚本显示服务器开区时间代码,传奇时间拓展之定时器脚本命令解释与使用...
  3. JavaWeb项目调用QQ登录----QQ互联
  4. 港科夜闻丨香港科大(广州)获国家教育部批准筹建,南沙校址举办动工仪式...
  5. 计算机起凡游戏平台,起凡游戏平台怎么使用 起凡游戏平台使用方法
  6. 上美集团吕义雄:跨界营销新玩法
  7. 那些电影中黑化的人工智能,你了解多少?
  8. 有关 2008年春运
  9. python 安装gensim
  10. @Validated不生效