锁屏添加计步功能

大家好,期待已久的锁屏计步功能来啦,直接上干货

<VariableBinders>
	<ContentProviderBinder name="MiStep" uri="content://com.miui.providers.steps/item" columns="_steps" countName="hassteps" whereFormat="_begin_time>='%d'" whereParas="#today_begin_time">
		<Variable name="Mi_step" type="string[]" column="_steps"/>
		<Trigger>
			<!-- 复位今天的总步数 -->
			<VariableCommand name="step_today" expression="0" />
			<!-- 计算今天0时0点时间戳 -->
			<VariableCommand name="today_begin_time" expression="int((#time_sys-#hour24*3600000-#minute*60000-#second*1000)/1000)*1000" />
			<BinderCommand name="MiStep" command="refresh" condition="#step_reflash==0"/>
			<LoopCommand count="#hassteps" indexName="__s">
				<!-- 今天的总步数 -->
				<VariableCommand name="step_today" expression="#step_today+int(@Mi_step[#__s])" />
			</LoopCommand>
			<VariableCommand name="step_reflash" expression="1" />
		</Trigger>
	</ContentProviderBinder>
</VariableBinders>
<Text x="100" y="100" color="#ffffff" size="40" textExp="#step_today"/>

 

接口参数释义:

参数名称
含义
数据类型
_id 记录在sqlite的id,从1开始计 string[]
_begin_time 计步打点开始时间(计步每次打点都有个开始时间和结束时间,隔一段时间存储到手机一次) string[]
_end_time 计步打点结束时间(计步每次打点都有个开始时间和结束时间,隔一段时间存储到手机一次) string[]
_steps 每次打点的步数 string[]
_mode 计步模式: 0:不支持模式, 1:静止, 2:走路, 3:跑步, 11:骑车, 12:交通工具 string[]

计算今天的步数只需把取回来的每次打点的步数先判断打点的时间是否晚于今天0时0点,然后把符合条件的数据相加即可。判断昨天、前天的步数同理,只取不同时间段内把相关打点的步数相加就行。

 

 

9 条评论

  • 匿名 2018年11月29日 回复

    为什么出来的步数和小米运动APP、手环上不一样,怎么回事?

  • 匿名 2018年10月14日 回复

    找到方法了 昨天的步数打点-今天的步数打点=昨天的步数 。。。

    • 匿名 2018年11月2日 回复

      不对 取昨天的数据应该取昨天0时0分的时间戳(即今天0时0分的时间错减去86400000) 到今天0时0分的时间戳

    • 匿名 2018年11月2日 回复

      好像也没毛病

  • 匿名 2018年10月14日 回复

    =’%d’ AND _end_time

    请问_end_time这个值怎么给呢,_begin_time>=’%d’ AND _end_time<='%d' 黑屏啊,求告知,想做一个最近7天步数统计卡片

  • 匿名 2018年9月10日 回复

    费心了

  • 匿名 2018年9月10日 回复

    大佬6666666

  • 匿名 2018年9月10日 回复

    大佬66666666

  • 匿名 2018年9月10日 回复

    不错

发表评论

电子邮件地址不会被公开。

©2015-2016 zhutidasai.com. 版权所有 京ICP备16041368号-3