如何创建一个AsyncTask
在固定时间间隔后继续运行的程序。
例如。每 5 分钟从服务器获取数据,并通知调用者线程它已收到数据。我在论坛上搜索,但找不到太多。到目前为止我收集到的是
1) UI 线程将调用AsyncTask
2)onPrExecute
用于执行前的 UI 线程访问
3)OnPostExecute
用于执行后的 UI 线程访问
我不需要向用户显示任何进度更新。此外,当应用程序关闭时,任务将被销毁。任何这方面的教程都会有帮助
如何创建一个AsyncTask
在固定时间间隔后继续运行的程序。
例如。每 5 分钟从服务器获取数据,并通知调用者线程它已收到数据。我在论坛上搜索,但找不到太多。到目前为止我收集到的是
1) UI 线程将调用AsyncTask
2)onPrExecute
用于执行前的 UI 线程访问
3)OnPostExecute
用于执行后的 UI 线程访问
我不需要向用户显示任何进度更新。此外,当应用程序关闭时,任务将被销毁。任何这方面的教程都会有帮助
正如评论中的其他建议。所以让我详细说明一下。
不要使用异步任务。只选择 IntentService。
直接在 intentService 上发起数据获取请求,作为使用工作线程工作,并最终调用您维护的接口对象列表的更新委托。
制作方法让活动注册和注销监听这些更新。
您可以使用Timer.scheduleAtFixedRateAsyncTask
安排以固定速率重复。
试试这个..
-更好地使用Service
,使这项工作一次又一次。
-现在您可以使用bound 或 unbound Service
。如果您希望服务绑定到活动,则使用绑定服务,否则使用未绑定服务。
-如果使用会更好IntentService
,因为在这里您不需要任务继续运行,而是在一定时间后运行。
请参阅此链接:
http://mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/
AsyncTask
我编写了一个定期触发 s 的应用程序,但即使在应用程序关闭时它们仍然存在。无论如何,这就是我必须做的:
PendingIntent
(via getBroadcast()
),其中包含一个Intent
包含一个动作的。PendingIntent
给系统AlarmManager
并设置间隔。BroadcastReceiver
以捕获提供给Intent
in no 的操作字符串。1.onReceive()
方法BroadcastReceiver
,开火AsyncTask
。