了解用户的行为,对应用进行调整
移动设备已成为很多人日常生活中无所不在的设备。您的用户在一天中驾车、步行、锻炼、工作和娱乐时都会使用手机。
了解用户在现实世界中的行为,可让您的应用更智能地与用户互动。例如,一个应用可以在用户开始跑步时开始跟踪用户的检测信号,而另一个应用可以检测到用户已开始驾车时切换到车载模式。
Activity Recognition API 基于设备中提供的传感器构建。设备传感器可提供用户当前所执行操作的深入分析。不过,由于来自多个传感器的数十种信号以及人们的行为方式略有不同,那么检测用户的行为并非易事。
Activity Recognition API 通过定期读取短时间的传感器数据并利用机器学习模型对其进行处理来自动检测活动。为了优化资源,如果设备有一段时间没有运行,该 API 可能会停止活动报告,并使用低功耗传感器在检测到移动事件后继续报告活动。
只需极少的资源即可接收有关活动的信息
在用户开始或结束特定 Activity 时收到通知
某些应用有兴趣了解用户何时启动或停止特定 activity。例如,里程跟踪应用可以在用户开始驾车时开始跟踪里程,或者即时通讯应用可以在用户停止驾车之前忽略所有对话。
借助 Activity Recognition Transition API,您可以执行与检测用户活动变化相关的繁重工作,从而实现这些场景。您的应用会订阅相关 activity 的转换,并且该 API 仅在需要时通知您的应用。您无需实现复杂的启发法来检测 activity 何时开始或结束。
当应用收到 activity 信息时执行一项操作
Activity Recognition API 会将其结果传递给回调,该回调通常在应用中实现为 IntentService
。结果按您指定的时间间隔传递,或者您的应用可以使用其他客户端请求的结果,而不会消耗额外的电量。
您可以使用 PendingIntent
告知 API 如何传递结果,这样就无需为了持续检测活动而持续运行服务。您的应用会从 API 收到相应的 Intents
,提取检测到的 activity,并确定是否应执行操作。仅在收到 activity 时才调用服务,这样可保留资源,如内存。
接收检测到包含置信度等级的活动
activity Recognition API 通过处理设备的信号来识别当前 activity,从而完成繁重的工作。您的应用会收到检测到的 activity 列表,其中每个 activity 都包含 confidence
和 type
属性。
confidence
属性用于指示用户执行结果中呈现的 activity 的可能性。type
属性表示设备相对于现实世界中实体所检测到的活动,例如,设备在使用自行车,或者设备使用跑步的用户。