2

私はAndroid用のライブラリを作成しました。ライブラリを初期化すると、位置情報の更新、サブスクリプションステータスの変更、ライブラリステータスの変更、その他のさまざまな更新のコールバックに登録しますcontroller。 android UIアプリ、そしてコントローラーがアクティビティAを起動するために、コントローラーからのメッセージをアクティビティAに渡します。または、サブスクリプションにサインアップしてメッセージをこれに転送するためにアクティビティBを起動します。ただし、これを実現する方法はないようです-各アクティビティは分離されているためですか?私が間違っていない限り?

それで、ここでの私のオプションは何ですか?アプリ全体で1つのアクティビティを使用し、UIを交換する必要があるようですが、調査したところ、それがうまくいかないようです。

私はApplicationをサブクラス化しようとしましたが、これは機能し、アクティビティからライブラリにアクセスできるようになりましたが、その逆が必要です。これは可能ですか?ライブラリをサービスでラップすると、私がやりたいことが達成されますか?

4

1 に答える 1

1

ブロードキャストを使用して、ライブラリから送信することができます。各アクティビティは、メソッドにaを登録BroadcastReceiverし、onResume()メソッドの登録を解除する必要がありますonPause()。アクティビティに共通の基本クラスを使用すると、これは比較的簡単になります。次に、ライブラリから現在アクティブなアクティビティにコマンドを送信できます。

于 2013-03-26T13:47:19.063 に答える