阿里云服务器免费领卷啦。

捡代码论坛-最全的游戏源码下载技术网站!

 找回密码
 立 即 注 册

QQ登录

只需一步,快速开始

搜索
关于源码区的附件失效或欺骗帖, 处理办法
查看: 36012|回复: 46

[安卓,android源码] Android精准计步开发源码

[复制链接]

4208

主题

210

回帖

12万

积分

管理员

管理员

Rank: 9Rank: 9Rank: 9

积分
126183
QQ
发表于 2016-11-14 10:47:16 | 显示全部楼层 |阅读模式
Android精准计步开发源码

亲测在小米.魅族.华为上可用,自定义View实战


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


20161114104452.png

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

  1.     <!--计歩需要的权限-->
  2.     <uses-permission android:name="android.permission.VIBRATE" />
  3.     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
  4.     <uses-feature android:name="android.hardware.sensor.accelerometer" />
  5.     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
  6.     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
  7.     <uses-feature
  8.         android:name="android.hardware.sensor.stepcounter"
  9.         android:required="true" />
  10.     <uses-feature
  11.         android:name="android.hardware.sensor.stepdetector"
  12.         android:required="true" />
复制代码
2.检测手机是否支持计歩
  1. /**
  2.      * 判断该设备是否支持计歩
  3.      *
  4.      * @param context
  5.      * @return
  6.      */
  7.     @TargetApi(Build.VERSION_CODES.KITKAT)
  8.     public static boolean isSupportStepCountSensor(Context context) {
  9.         // 获取传感器管理器的实例
  10.         SensorManager sensorManager = (SensorManager) context
  11.                 .getSystemService(context.SENSOR_SERVICE);
  12.         Sensor countSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
  13.         Sensor detectorSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
  14.         return countSensor != null || detectorSensor != null;
  15.     }
复制代码


3.功能使用


  1.     private boolean isBind = false;
  2.     private Messenger mGetReplyMessenger = new Messenger(new Handler(this));
  3.     private Messenger messenger;

  4.     /**
  5.      * 开启计步服务
  6.      */
  7.     private void setupService() {
  8.         Intent intent = new Intent(this, StepService.class);
  9.         isBind = bindService(intent, conn, Context.BIND_AUTO_CREATE);
  10.         startService(intent);


  11.     }
  12.     /**
  13.      * 从service服务中拿到步数
  14.      *
  15.      * @param msg
  16.      * @return
  17.      */
  18.     @Override
  19.     public boolean handleMessage(Message msg) {
  20.         switch (msg.what) {
  21.             case Constant.MSG_FROM_SERVER:
  22.                 cc.setCurrentCount(10000, msg.getData().getInt("step"));
  23.                 break;
  24.         }
  25.         return false;
  26.     }


  27.     /**
  28.      * 用于查询应用服务(application Service)的状态的一种interface,
  29.      * 更详细的信息可以参考Service 和 context.bindService()中的描述,
  30.      * 和许多来自系统的回调方式一样,ServiceConnection的方法都是进程的主线程中调用的。
  31.      */
  32.     ServiceConnection conn = new ServiceConnection() {
  33.         /**
  34.          * 在建立起于Service的连接时会调用该方法,目前Android是通过IBind机制实现与服务的连接。
  35.          * @param name 实际所连接到的Service组件名称
  36.          * @param service 服务的通信信道的IBind,可以通过Service访问对应服务
  37.          */
  38.         @Override
  39.         public void onServiceConnected(ComponentName name, IBinder service) {
  40.             try {
  41.                 messenger = new Messenger(service);
  42.                 Message msg = Message.obtain(null, Constant.MSG_FROM_CLIENT);
  43.                 msg.replyTo = mGetReplyMessenger;
  44.                 messenger.send(msg);
  45.             } catch (RemoteException e) {
  46.                 e.printStackTrace();
  47.             }
  48.         }

  49.         /**
  50.          * 当与Service之间的连接丢失的时候会调用该方法,
  51.          * 这种情况经常发生在Service所在的进程崩溃或者被Kill的时候调用,
  52.          * 此方法不会移除与Service的连接,当服务重新启动的时候仍然会调用 onServiceConnected()。
  53.          * @param name 丢失连接的组件名称
  54.          */
  55.         @Override
  56.         public void onServiceDisconnected(ComponentName name) {

  57.         }
  58.     };
复制代码



Android精准计步开发源码下载地址:


游客,如果您要查看本帖隐藏内容请回复


Android精准计步开发源码
http://bbs.jiandaima.com/thread-732-1-1.html


捡代码论坛-最全的游戏源码下载技术网站! - 论坛版权郑重声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与捡代码论坛-最全的游戏源码下载技术网站!享有帖子相关版权
3、捡代码论坛版权,详细了解请点击。
4、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
5、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
6、如无法链接失效或侵犯版权,请给我们来信:jiandaima@foxmail.com

本帖被以下淘专辑推荐:

回复

使用道具 举报

0

主题

3

回帖

27

积分

新手上路

Rank: 1

积分
27
发表于 2016-11-15 09:28:29 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

206

回帖

1033

积分

金牌会员

Rank: 6Rank: 6

积分
1033
发表于 2016-11-15 10:25:00 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

8

回帖

68

积分

注册会员

Rank: 2

积分
68
发表于 2016-12-1 15:21:10 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

7

回帖

40

积分

新手上路

Rank: 1

积分
40
发表于 2016-12-10 22:06:34 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

8

回帖

40

积分

新手上路

Rank: 1

积分
40
发表于 2016-12-28 09:43:49 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

6

回帖

29

积分

新手上路

Rank: 1

积分
29
发表于 2017-1-11 11:29:02 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

22

回帖

57

积分

注册会员

Rank: 2

积分
57
发表于 2017-1-11 15:01:33 | 显示全部楼层
登录可见评论
回复

使用道具 举报

0

主题

21

回帖

57

积分

注册会员

Rank: 2

积分
57
发表于 2017-1-12 14:53:43 | 显示全部楼层
登录可见评论
回复

使用道具 举报

1

主题

66

回帖

795

积分

高级会员

Rank: 4

积分
795
发表于 2017-1-16 10:26:51 | 显示全部楼层
登录可见评论
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立 即 注 册

本版积分规则

技术支持
在线咨询
QQ咨询
3351529868

QQ|手机版|小黑屋|捡代码论坛-专业源码分享下载 ( 陕ICP备15015195号-1|网站地图

GMT+8, 2024-4-27 06:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表