java.lang.IllegalArgumentException: Service not registered
まず、Service が AndroidManifest ファイルに登録されているかどうかを確認します。形式は次のとおりです。
<service android:name=".MyService" ></service>
サービスがすでに登録されている場合でも、このエラーは報告されます。
- bindService が失敗した場合は、直接 unbindService を実行します。
- unbindService が成功し、unbindService が何度も実行された可能性もあります。
解決:
サービスがバインドされるたびに、ブール値を使用して状態が true として記録されます。
サービスがバインドされていない場合は、ブール値が true かどうかを確認します。true の場合、サービスはキャンセルされ、ブール値は false に設定されます。
これにより、何度サービスをキャンセルしても「サービスが登録されていません」とは報告されません。
サンプルコードは次のとおりです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|