IntentServiceを用いた非同期処理の落とし穴
非同期処理 - mixi-inc/AndroidTraining
の実習・課題で
- saveボタンでIntentServiceを呼び出し、SharedPreferenceにデータを書き込む
- loadボタンでAsyncTaskLoaderからSharedPreferenceのデータを読み込む
という処理を作成したが、データが取れない(ロードしても値が入ってない)。
デバッグすると、IntentServiceが呼ばれてすら居ない様子。
エラーメッセージも出ないのでどこがおかしいのか分からなかったが、
AndroidManifestに以下の記述をし忘れていた。
<service android:name=".MyIntentService"></service>
IntentServiceを使って非同期処理を行う « Tech Booster
上記リンクにも
マニフェストファイルへの登録を忘れるとIntentServiceの呼び出しで失敗してしまいます。特にエラーが出ないため忘れがちなポイントです。注意してください。
と書かれていた…。