当屏幕在android中进入睡眠时,Asynctask线程不起作用

时间:2014-05-15 08:56:22

标签: android

我使用asyntask在每五分钟后向服务器发送数据(纬度,经度)。但是当屏幕在android中进入睡眠状态时,Asyntask线程不起作用。我已经完成了没有asyntask但是因为低互联网速度数据在8,10或12分钟后随机发送到服务器。

2 个答案:

答案 0 :(得分:1)

虽然每5分钟非常激进,但您应该为此类任务实施服务。

http://developer.android.com/reference/android/app/Service.html

此处是后台任务最佳做法的链接:

https://developer.android.com/training/best-background.html

答案 1 :(得分:1)

AsyncTask旨在执行后台操作并在其后更新UI,如果活动暂停,则无法更新UI.so AsyncTask不是您需求的最佳选择。

你必须结合Android中的两个3个组件,BroadcastReceiverServiceAlarmManager ...总结一下,逻辑将是这样的:

  1. 您使用AlarmManager计划执行
  2. 您在BroadcastReceiver中处理AlarmManager事件
  3. 从BroadcastReceiver中调用执行与服务器同步任务的服务
  4. 项目3基本上是为了确保任务以受控方式完成,直到完成为止。

    您可以按照此示例作为指导: http://android-er.blogspot.in/2010/10/simple-example-of-alarm-service-using.html