サービスでデータの準備ができた後でのみアクティビティを開始しようとしています。データの準備状況についてサービスを常にポーリングするタイマータスクを使用してこれを試しています。
public class SplashTask extends TimerTask {
@Override
public void run() {
Log.i(MY_DEBUG_TAG, "Internet is accessible, Running some Spalsh screen Tasks ");
if(mBoundService.isDataReady()) {
Log.e(MY_DEBUG_TAG, "Data is ready in service..");
startActivityForResult(new Intent(SplashDroid.this, FunWithDataActivity.class), 3);
} else {
Log.e(MY_DEBUG_TAG, "Data not ready in service..");
}
Log.i(MY_DEBUG_TAG, "Spalsh Tasks fnished..");
}
}
問題は、データの準備ができてFunWithDataActivityが開始されようとしているときに、次のエラーが発生することです。
07-27 14:53:40.614: ERROR/AndroidRuntime(1042): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()