我正在为我的应用程序开发一个 Android AppWidget。为了更新我的 appwidget,我需要从网络下载数据。但是当我尝试在 onUpdate 方法中执行此操作时,我的 appWidget 被 Android 系统杀死了。我了解到无法在接收器中完成耗时的操作,因此我从 onUpdate 方法启动了一个服务并从中启动了一个线程。但问题仍然存在。谁能告诉我如何在 Appwidget 中进行网络操作?
问问题
1366 次
1 回答
3
将下载工作委托给一个服务,可能是一个IntentService
,可能是一个,这WakefulIntentService
取决于设备在工作本身期间是否存在睡眠的风险。
你AppWidgetProvider
只会打电话startService()
给你的IntentService
.
您的IntentService's
onHandleIntent()
方法将完成您目前在 中所做的工作,通过静态方法onUpdate()
获得它自己的工作。但是,由于是在后台线程上执行的,因此您可以根据需要花费尽可能多的时间。一旦完成所有未完成的工作请求,它也会自动关闭。AppWidgetManager
getInstance()
onHandleIntent()
IntentService
于 2010-08-22T05:30:16.980 回答