いつもお世話になっております。
android.os.NetworkOnMainThreadExceptionについてご教授願いたく存じます。
NetworkOnMainThreadExceptionはメインスレッド(UIスレッド)でネットワーク処理を行うと発生するという認識ですが、
それを踏まえ、下記処理を作成しましたがNetworkOnMainThreadExceptionが発生しております。
① BroadcastReceiverにて「ACTION_BOOT_COMPLETED」を受けると、Serviceを起動する。
② Serviceにて「onStartCommand」が叩かれると、java.util.concurrent.ScheduledExecutorServiceクラス、
newSingleThreadScheduledExecutor()を使用し、スレッドを作成し、定期処理をスケジュールする。
③ ②で作成されたスレッドは一定周期でネットワーク処理を行う。
上記処理だと別スレッドにてネットワーク処理を行っているので、NetworkOnMainThreadExceptionは喰らわない
と思っていたのですが、実際は喰らっています。
また、デバッグしスレッドを確認するとmainとは別のスレッドにて処理していることが確認できました。
正直何が問題なのか分からず、はまっております。3.0以降ではAsyncTaskを使用しろと言うことなのでしょうか?
宜しくお願いいたします。