查看原文
其他

【揭秘】微信运动为什么有些人总是占据榜首

2017-05-06 丁爸 丁爸

加入微信运动有一个多月了,差不多每天都能坚持走走,大部分时候还是能坚持每天在1万步左右。朋友中加入微信运动的人也越来越多,每天还可以互相点赞鼓励,有时走的步数多还可以占领朋友圈的封面,满足了小小的虚荣心。


可是,不知哪天起,我发现有的微信朋友,每天都是在7万步到10万步之间,总是霸占着排行榜的榜首。就感到纳闷,他们每天都不用上班么,每天10万步,走得快也得要7-8个小时吧。


看看我,走了1万多步,才排42名,基本每天我在朋友圈的排名都在100名左右。就走点路,都得努力


于是,出于好奇,就想探究一下他们霸占微信运动榜首的各种可能原因。


一、微信运动计步的原理

   微信运动的基本原理是走路时会先有一个向前的加速度再有一个向后的加速度,根据身高体重调整这两次加速度大小和时间间隔的阈值就能统计步数,当然还有很多优化的细节。


   手机内置了振动传感器或协助处理器,根据这些设备的震动频率来储存数据。简单地说,就是人在步行时重心都有一点上下移动,传感器和协作器感应到这种重心移动并进行记数。

   

     这就让我明白,为什么我骑自行车或者开车时,微信运动不会计算我的步数,因为骑自行车和开车时手机的震动不符合步行时的震动特点。

二、从微信运动计算步数原理推测的几种提高微信运动步数的可能方法

1、物理刷步法

物理增加法,就是让手机像人走路时一样的前后上下震动。

A、把手机绑在招财猫手臂上或者摆钟的钟摆臂上,让手机不停的摆动。


B、某宝上面就有各种手机刷步神器,买一个回来,手机放上去不停的摆动,也能“日行百里”。

C、家里有小猫,小狗也可以利用起来,给小狗买个背包,手机放背包里,它每天也能帮你刷不少的步数。


2、软件刷步法

给手机安装刷步软件来增加步数

A、安卓手机

安卓手机root后,安装安装 Xposed 框架,然后下载并激活「」,在界面设置倍率增加,比如设置1000,那么你每走1步微信会显示1000步。

B、苹果手机

需要安装一个查看微信头文件的软件:class-dump

使用 class-dump -H WeChat.app -o WeChatHead命令导出微信头文件

在WCDeviceStepObject这个类里面有几个很显眼的属性m7StepCount,hkStepCount 等.   如下:

关键字"stepCount"的中文是"步数",劫持并修改其参数

创建一个Tweak工程, 如下:

编写Tweak.xm文件, 如下:

上图我们返回"98800" 步数以做测试,

make并install Tweak工程后在测试机查看结果 , 如下:

C、利用其他运动app刷步

比如可以利用乐动力app的电脑版手动上传运动数据到手机app,再关联到微信运动,也可以实现刷步。

不过这个步骤还是有的复杂,这里就不累述了。


三、说了这么多刷步的方法,但我还是没有搞懂为什么他们要刷步啊?


后来我在微信运动右上角的“设置”菜单里发现微信运动有个“捐步”的公益活动,只要每天走5000步以上就可以参加这个活动,通过“捐步”为公益事业募集善款。


四、个人意见

无论是为了占据朋友圈的封面还是为了“捐步”,我认为都没有必要去刷步,本来运动的目的都是为了保持自己的身体健康,其他的都是附属,不要把主次颠倒了。


祝大家运动快乐,身体健康!


以上内容涉及苹果刷步部分引用自微信公众号“ 号号非凡程序员”


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存