从后台Android服务获取特定于应用程序的运动数据

时间:2014-04-10 14:19:59

标签: android android-service

我想制作一个在后台运行的服务,并在用户使用其他应用程序时使用运动传感器(如加速度计)捕获运动数据。我还希望能够根据当时正在运行的应用程序来区分运动数据集。例如,服务的输出可以是:

App A : [Data set taken for the motion sensor while app A was running]
App B : [Data set taken for the motion sensor while app B was running]
...

我很乐意在后台运行捕获运动数据的服务;但是,我不知道如何根据前景中的应用程序来分离数据。有谁知道如何实现这一目标?如何找出启动/移动到前台的应用程序以及何时更新后台服务以便将数据存储在该应用程序的数据集下?

1 个答案:

答案 0 :(得分:0)

听起来您只是想让您的服务找到前景活动的内容。您可以在StackOverflow上的其他问题中找到该信息,例如this。简而言之,您需要使用ActivityManager.getRunningTasks()。最顶层的Activity是List中的第一个项目。

听起来您还需要在应用的清单中申请相应的权限。