私は現在、クアドロコプター用のテレメトリー アプリとして Android アプリケーションを開発しています。ネットワーク経由でデータを送信するudpサーバーがあります。
ネットワーク接続を処理するために別のスレッドにある udp クライアントがあります。私の ConnectActivity では、次のようにオブザーバーを追加しています。
Observer dataView = new DataViewActivity();
Observer osmDroidView = new OSMDroidMapsActivity();
udpClient.getDataNotifier().addObserver(dataView);
udpClient.getDataNotifier().addObserver(osmDroidView);
私の OptionsMenu では、たとえば DataViewActivity を開始します。
MenuItem dataItem = menu.add("Data");
dataItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
DataViewActivity は、Observer インターフェイスを実装します。今私の問題は、オブザーバーリストに追加しているデータビューインスタンスが、オプションメニューをクリックして開始したデータビューとは別のインスタンスであることです。オプションメニューから同じインスタンスを開始する方法はありますか?
startActivity(new Intent(getApplicationContext(),
DataViewActivity.class));