ICSでは、UrlConnectionを使用しているときにandroid.os.NetworkOnMainThreadExceptionエラーが発生します。これは、自分自身のプロセスで実行されるサービスでこのリクエストを行っていますMessenger経由で非同期的に呼び出されました。android.os.NetworkOnMainThreadExceptionサービスで別のプロセスで
StrictPolicyを変更しても効果はありませんが、引き続きエラーが発生します。
どうすればよいですか?
編集:このサービスは別のプロセスで実行されます。異なるpidなどがあります。
このサービスは別のプロセスで実行されます。 – Vadi
他のアクティビティやサービスとは別のプロセスで実行されるかどうかは関係ありません。サービス内で直接実行されているコードは、そのプロセスのメインスレッドで実行されます。代わりにIntentServiceを使用すると、onHandleIntent()で実行されるコードに対して新しいスレッドが自動的に作成されます。 – AdamK
メインタスクとはまったく別のプロセスにあるサービスのタイマーで実行されているタスクは、メインプロセスのUIスレッドに影響します。 ネットワークに接続しているときにUIがフリーズすることはありません。 – Vadi