2011-01-25 5 views
1

私はstartService()を使って新しいサービスを開始します。サービスが準備されるまでには時間がかかります。すぐにServiceManager.getService()を呼び出すと、nullが返されます。私はこれについていかなるブロッキング機能も見いだせなかった。どのようにサービスが準備ができているかを知るには?ブロック機能やシステムメッセージがありますか?Androidで新しいサービスがいつ用意されるのかを知るには?

もう1つの方法は、ServiceManager.getService()をwhileループに置くことですが、UIがロックされるため、いいとは思いません。

答えて

2

Context#bindServiceを使用するようにコードを再構築する必要があります。 bindServiceは、onServiceConnectedメソッドが呼び出されるServiceConnectionオブジェクトを提供できます。このメソッドは、サービスが対話できる状態になったときに呼び出されます。

関連する問題