0

リモートサービスにバインドしてから少し遅れているようです。onServiceConnectionは正常に機能します。バインディングは正常に機能します。遅延の問題があると思います。たとえば、私のアクティビティのonCreate()メソッドで、たとえば次のように言います。

  • mConnection onServiceConnect()がmRemoteServiceStubを正しく設定することに注意してください。

    bindService(mIntent, mConnection, Context.BIND_AUTO_CREATE); mRemoteServiceStub.doThis();

これを実行すると、接続がまだ存在しないというエラーが表示されます。ただし、mRemoteServiceStub.doThis()をonClickListenerのメソッドに入れると、完全に機能します。したがって、アクティビティonCreateの実行が終了するまで接続が確立されないか、接続の確立に遅延が発生します。

誰か知っていますか?

そして、この方法で接続が確立されるまでアプリケーションの実行を遅らせる方法はありますか?トリガーなしですぐに接続を使用できます。(私の実装は正しいです)

4

1 に答える 1

2

これを実行すると、接続がまだ存在しないというエラーが表示されます。

bindService()同期ではありません。onServiceConnected()オブジェクトでが呼び出され、ServiceConnectionからクライアント側プロキシを作成するまで、スタブを使用することはできませんIBinder

また、この方法で接続が確立されるまでアプリケーションの実行を遅らせる方法はありますか?トリガーなしですぐに接続を使用できます。

バインダー依存のロジックを に入れますonServiceConnected()

于 2011-09-28T20:37:38.753 に答える