我正在编写一个更新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杀死。如何查看网络状态?
答案 0 :(得分:1)
虽然Service
设计用于在后台执行操作,但默认情况下它仍然在ui线程中运行。如果要在服务中执行长时间运行操作,则必须创建工作线程。或者您可以使用为您创建它的IntentService
。