Android:Appwidget中的网络操作

我正在为我的应用程序开发一个Android AppWidget.为了更新我的appwidget,我需要从网络下载数据.但是,当我尝试在onUpdate方法中执行此操作时,我的appWidget被Android系统杀死了.我了解到无法在接收器中完成耗时的操作,因此我从onUpdate方法启动了服务,并从该方法启动了线程.但是问题仍然存在.
谁能让我知道如何在Appwidget中进行网络操作?

最佳答案
将下载工作委托给服务(可能是IntentService,可能是WakefulIntentService),这取决于设备在工作本身是否存在入睡的风险.

您的AppWidgetProvider只需在IntentService上调用startService().

您的IntentService的onHandleIntent()方法将完成您目前在onUpdate()中所做的工作,并通过静态getInstance()方法获取自己的AppWidgetManager.但是,由于onHandleIntent()是在后台线程上执行的,因此您可以根据需要花费尽可能多的时间.一旦完成所有未完成的工作请求,IntentService还将自动关闭.

相关文章

AdvserView.java package com.earen.viewflipper; import an...
ImageView的scaleType的属性有好几种,分别是matrix(默认)...
文章浏览阅读8.8k次,点赞9次,收藏20次。本文操作环境:win1...
文章浏览阅读1.2w次,点赞15次,收藏69次。实现目的:由main...
文章浏览阅读3.8w次。前言:最近在找Android上的全局代理软件...
文章浏览阅读2.5w次,点赞17次,收藏6次。创建项目后,运行项...