0

AppWidget のテキストビューを更新するサービスを作成しています。それは、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 に答える