0

私はAndroid2.1、RoboGuice 1.1、Guice 2.0(aopなし)で作業しています。私のアプリには、サーバーに接続するメソッドで
開始されるバックグラウンドスレッドがあり、ユーザーがログインするためのクレデンシャルを提供する必要がある場合があります。 onCreateActivity

最初PopupWindowはAPIで見つけましたが、この投稿で、そのために使用すべきではないことを読みました。

そのため、バックグラウンドスレッドにインジェクトし、 Activity.runOnUIThread(Runnable r)に渡されたActivityものを開こうとしましたが、残念ながら、roboguiceは、バックグラウンドスレッドにインジェクトするときに、アクティビティの新しいインスタンスを作成しています。 DialogRunnable

Login-Dialogを実装する正しい方法はIntent、アクティビティにを送信して、を表示させることだと思いDialogます。さらに、 (資格情報を含む)をバックグラウンドスレッドActivityに送り返す必要があると思います。これは正しいですか、それとももっとエレガントな方法がありますか?Intent

この投稿では、の受信者を登録する方法を見つけましたIntent。しかし、バックグラウンドスレッド内 でどのActivityインスタンスを呼び出す必要がありますか?registerReceiver

よろしくお願いします

4

1 に答える 1

0

RoboAsyncTask を使用し、基本的にアクティビティにアクセスできるアクティビティに内部クラスを作成することをお勧めします。それは私にとってはうまくいきます。さまざまなアクティビティからログインできるようにする必要がある場合は、それを最上位クラスにして、フラグメントまたはアクティビティ インスタンスを非同期タスク コンストラクターに渡し、onSuccess で UI の更新を行います。

于 2012-01-27T18:54:55.703 に答える