redev

technical miscellaneous memorandum

IntentServiceを用いた非同期処理の落とし穴

非同期処理 - mixi-inc/AndroidTraining
の実習・課題で

  • saveボタンでIntentServiceを呼び出し、SharedPreferenceにデータを書き込む
  • loadボタンでAsyncTaskLoaderからSharedPreferenceのデータを読み込む

という処理を作成したが、データが取れない(ロードしても値が入ってない)。

デバッグすると、IntentServiceが呼ばれてすら居ない様子。
エラーメッセージも出ないのでどこがおかしいのか分からなかったが、
AndroidManifestに以下の記述をし忘れていた。

<service android:name=".MyIntentService"></service>


IntentServiceを使って非同期処理を行う « Tech Booster
上記リンクにも

マニフェストファイルへの登録を忘れるとIntentServiceの呼び出しで失敗してしまいます。特にエラーが出ないため忘れがちなポイントです。注意してください。

と書かれていた…。