屏幕关闭时,Android TYPE_STEP_DETECTOR

屏幕关闭时,Android TYPE_STEP_DETECTOR,第1张

概述您好,我正在开发一个计步器应用程序,该应用程序使用适用于AndroidKitKat的TYPE_STEP_DETECTOR传感器类型.在关闭屏幕或锁定手机之前,所有功能似乎都可以正常工作,我发现在屏幕关闭时它不会触发任何事件.我知道TYPE_STEP_COUNTER的变体,但我不太想每天在开始时就开始计数.我更希望

您好,我正在开发一个计步器应用程序,该应用程序使用适用于Android KitKat的TYPE_STEP_DETECTOR传感器类型.在关闭屏幕或锁定手机之前,所有功能似乎都可以正常工作,我发现在屏幕关闭时它不会触发任何事件.

我知道TYPE_STEP_COUNTER的变体,但我不太想每天在开始时就开始计数.我更希望在检测到某个步骤时触发该事件,然后将“ 1”添加到当天的步骤计数中.

即使关闭了屏幕,是否有人在后台运行的服务中成功使用了TYPE_STEP_DETECTOR?

sensorEventListener中的代码为:

if (source.equals(countSensor)) { // data came from step detector     // stepcount from step counter event.values[0];     curStepCount = (int) event.values[0];     stepcount += curStepCount;

重新打开屏幕后,我最终只增加了1步.

解决方法:

问题是功耗.如果电话每执行一次步骤就唤醒应用处理器,它将消耗更多功率,并可能导致电池寿命变短.对于您的手机,制造商已决定不支持传感器的“唤醒”版本,该传感器会在检测到台阶时打开手机.

为了节省功耗,最好在某种运动协处理器中进行计数,通常是使用很少功耗的ARM Cortex M4处理器.这是在Nexus 5中引入的.如果您访问TYPE_STEP_COUNTER传感器,则应该可以提供所需的信息.

最后,AndroID规范允许某人建立“唤醒”传感器,即可以打开应用处理器以向您的应用发出信号并允许您对其计数的事物.在这种情况下,由于对电池寿命有很大影响,因此您不应该这样做.

从第449行开始,请注意此处,它允许使用“唤醒和非唤醒”版本:
http://source.android.com/devices/halref/sensors_8h_source.html

/* * SENSOR_TYPE_STEP_DETECTOR * reporting-mode: special * * A sensor of this type triggers an event each time a step is taken * by the user. The only allowed value to return is 1.0 and an event * is generated for each step. * * Both wake-up and non wake-up versions are useful. */#define SENSOR_TYPE_STEP_DETECTOR                   (18)#define SENSOR_STRING_TYPE_STEP_DETECTOR            "androID.sensor.step_detector"
总结

以上是内存溢出为你收集整理的屏幕关闭时,Android TYPE_STEP_DETECTOR全部内容,希望文章能够帮你解决屏幕关闭时,Android TYPE_STEP_DETECTOR所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1093771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存