我们现在可以使用ActivityRecognitionClient类了。开发文档展示了如何从活动中使用它:
http://developer.android.com/training/location/activity-recognition.html
当遇到特定的活动类型时,有没有办法让操作系统通知我们的应用程序?例如,我希望每当活动类型状态从停止变为骑自行车时,操作系统都会调用我的应用程序。
该示例使我们看起来需要将ActivityRecognitionClient与受应用程序生命周期约束的Activity(或片段)一起使用。
理想情况下,我们可以在操作系统中注册标准,类似于地理围栏请求。我想作为一种解决方法,我们可以每隔N秒运行一次服务,创建一个ActivityRecognitionClient实例,监听它几秒钟,然后撕下一切。
由于
答案 0 :(得分:0)
我一直在使用当前项目的新客户端类。到目前为止,我所做的最好的事情是创建一个前台服务(因为我的用户需要知道服务正在运行),它建立了与识别客户端的连接,并为IntentService创建了待处理的意图。检测到更新期间发现的活动。
根据您的要求,您可以发送广播(本地或其他),因为DetectedActivity是可以参与的,或者我做了什么,它将DetectedActivity传递回我的前台服务,以便在其onStartCommand中进行处理。