0

我正在编写一个更新 AppWidget 中的 textview 的服务。它是关于阅读 RSS 并显示文本。因此,如果设备上的互联网未激活,我需要将文本设置为“没有可用的互联网”。所以在onStart()我提出的服务方法上

ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
if(!netInfo)
{
 try-catch block to fetch XML using XMLPULLPARSER and set the textview
}
else
 set the textview using remoteview that there is no internet

但这不起作用。该服务被后台 ANR 杀死。如何查看网络状态?

4

1 回答 1

1

虽然Service是为在后台执行操作而设计的,但它仍然默认运行在 ui 线程中。如果您想在服务中执行长时间运行的操作,您必须创建一个工作线程。或者您可以使用IntentService为您创建它的一个。

于 2013-01-12T16:17:16.087 回答