0

約8つのアクティビティクラスと1つのアプリケーションクラスを持つプログラムがあります。Applicationクラスがすべてのアクティビティと通信できるようにしたいのですが、それは独自の条件で行われます。アクティビティがアプリケーションにデータを要求するのではなく、アプリケーションがアクティビティデータを送信するようにします。これに伴う問題は、プログラムの現在の状態によっては、どのアクティビティが開かれるかわからないことです。

アプリケーションから現在のアクティビティに情報を送信する何らかの方法はありますか?


Applicationクラスは組み込みのBluetoothデバイスに接続し、ユーザーが現在実行しているアクティビティに応じて異なるデータを受信する必要があります。元々は通常のクラスとして持っていました。これはプログラムのMainMenuで初期化され、ハンドラーを渡しました。ただし、そのハンドラーをアクティビティからアクティビティに何度も渡すのは弱い設計のように見えました。

4

1 に答える 1

1

コールバック メソッドを使用できます

すべてのアクティビティには独自のコールバック メソッドがあり、そのメソッドonResume()をアプリケーション クラスに登録します。(それはonApplicationWantsToDoSomethingWithMeListener();のようなものです)

またはServiceバックグラウンドではないのはなぜですか?の代わりに、Applicationあなたが望むのは のように聞こえるからですService。詳細は?

編集: Bluetooth を使用して同様のアプリケーションを作成しました。そのためにサービスを明確に使用する必要がありますが、アプリケーションごとにサービスと通信できます。サービスがアプリケーション内のコールバックを呼び出すとします。ここで実装 uf などを探します。

于 2012-06-22T13:11:38.920 に答える