如标题所述,我的问题是无法正确控制活动识别请求。我的代码是这样的:
arclient.requestActivityUpdates(ACTIVITY_DETECT_INTERVAL, pIntent);
ACTIVITY_DETECT_INTERVAL = 2 * 60 * 1000(2分钟),
但是日志显示
01-27 12:21:49.412: I/ActivityRecognitionService(5458): Still 92
01-27 12:21:54.462: I/ActivityRecognitionService(5458): Still 92
01-27 12:21:59.492: I/ActivityRecognitionService(5458): Still 69
01-27 12:22:04.562: I/ActivityRecognitionService(5458): Still 76
01-27 12:22:09.662: I/ActivityRecognitionService(5458): Still 76
01-27 12:22:14.592: I/ActivityRecognitionService(5458): Still 92
01-27 12:22:19.612: I/ActivityRecognitionService(5458): Still 77
01-27 12:22:24.622: I/ActivityRecognitionService(5458): Still 92
01-27 12:22:29.672: I/ActivityRecognitionService(5458): Still 92
01-27 12:22:34.892: I/ActivityRecognitionService(5458): Still 85
01-27 12:22:39.812: I/ActivityRecognitionService(5458): Still 92
事实证明,间隔总是5秒。谁能帮助我,提前谢谢。
答案 0 :(得分:2)
根据requestActivityUpdates documentation:
如果另一个应用程序也以更快的速率请求了活动更新,则可能比detectIntervalMillis参数更频繁地接收活动。当活动检测服务收到当前活动可能发生变化的信号时,例如,如果设备已经静止很长时间,然后从手机充电器上拔下,它也可以更快地接收更新。
您当然可以过滤掉自己应用程序中的事件(假设您存储上次收到事件的时间,然后忽略当时和之后2分钟内的事件),但无法限制传入活动的数量更新超出手机上最耗电的应用程序请求或您的请求,无论大小。