整个项目包括制作基于人群感知的Android应用程序,从志愿者收集数据(第1阶段),然后根据收集的数据,每个用户在服务器中都有一个文件,文件将被分成多个在线剧集和我将应用人工智能算法,以使数据挖掘更好。
例如,如果在第1阶段,我可以确定志愿者通常在早上8点之前在家,并且他没有有价值的信息供我分析,那么应用程序甚至不会将数据发送到服务器。 我还处于第1阶段,我正在尝试制作一个Android应用程序,一旦用户连接到互联网就开始运行,它会将数据(电池,gps,活动...)发送到服务器并基于在活动(行走,跑步......)上,它将确定何时发送下一个数据流。例如,如果他正在行走,则下次将数据发送到服务器将在5分钟内完成。
在搜索时,我找到了许多关于如何在后台运行Android应用程序同时保持传感器收集全部时间(高能耗)的解决方案,更好的解决方案是例如每5分钟制定一个时间表。 我想知道的是,是否有一个Android工作室解决方案,使日程安排动态?因为它取决于我之前说过的活动,因此每次收集信息时,它会在下次再次收集信息时进行安排(下次我们使用传感器收集数据然后将其发送到服务器)。
我希望我明确指出:在后台运行的是一个具有特定时刻倒计时的应用程序;当那个时刻到来时,传感器开启以收集数据并将其发送到服务器,该数据也用于进行下一次倒计时(基于收集的活动数据),然后传感器关闭,直到倒计时结束。
感谢您的建议。
答案 0 :(得分:0)
您项目的最佳选择可能是AlarmManager。它可以定期执行您的代码,也可以在特定时间执行代码here。 该应用程序也可以由系统状态事件启动(如wi-fi开/关)。要捕获这些事件,您需要使用BroadcastReceiver,样本为here。
所以你真的不需要实现倒计时器或后台线程。此外,系统可以随时杀死手动创建的倒计时后台线程。