1

単一のサービスと通信するアクティビティを持ち、そのサービスの開始、停止、または設定の変更に使用されるアプリケーションを作成しています。このヒントからのシングルトンアプローチを使用しました。

私の問題は、ビジー待機が機能せず、アクティビティがブロックされるため、リスナーをサービスに接続できないことです。アプリケーションの開始時にサービスを開始するか、現在のインスタンスを取得したいので、onCreateにビジー待機を入れます。私はこれを非常に間違っていると思うので、どうすればこれを適切に行うことができますか?

また、これに対するより良いアプローチがある場合は、リンクやガイドを投稿してください.Android開発者サイトで混乱しています:P

ありがとう!

4

2 に答える 2

2

このヒントからのシングルトンアプローチを使用しました。

そうしないでください。代わりにローカル バインディング パターンを使用するbindService()と、サービスの準備ができたときに通知されます。また、サービスによって公開された API にアクセスし、バインドされたら使用を開始できます。

于 2010-11-02T13:16:55.703 に答える
1

問題は、手続き型プログラミングとイベント駆動型プログラミングの1つであり、AndroidのUIは後で構築されます。

onCreateはイベントです。サービス接続の通知もイベントです。onCreateから戻るまで、サービス接続通知は(発生したとしても)配信されません。

アクティビティの起動を2つの部分に分割できますか?1つ目はonCreateで実行され、2つ目はサービス接続に応答して実行されますか?

于 2010-11-02T13:01:46.130 に答える