Android 2.1、RoboGuice 1.1、Guice 2.0(aopなし)で動作しています。
私のアプリは、私がAPIでPopupWindow
を最初に見つかった時Android - バックグラウンドスレッドのログインダイアログを実装する方法
。サーバに接続し、ログインするための資格情報を提供するために、ユーザーが必要な場合がありますActivity
のonCreate
方法で開始されるバックグラウンドスレッドを持っていますが、I in this postを使用しないでください。
だから、私は、バックグラウンドスレッドに私Activity
を注入するとActivity.runOnUIThread(Runnable r)に渡さRunnable
でDialog
を開こうとしましたが、私のバックグラウンドスレッドにそれを注入する際、残念ながらroboguiceは、私の活動の新しいインスタンスを作成しています。
これで、ログインダイアログを実装する正しい方法は、Intent
を自分のアクティビティに送信して、Dialog
とすることです。さらに、私はActivity
が(資格情報を含む)Intent
をバックグラウンドスレッドに送り返す必要があると仮定します。
これは正しいのですか、それを行うより洗練された方法がありますか?
this postIntent
の受信機を登録する方法が見つかりました。しかし、Activity
インスタンスをバックグラウンドスレッド内でregisterReceiver
と呼びますか?
敬具
"私のバックグラウンドスレッドにmyActivityを注入しようとしました"とはどういう意味ですか?そのロゴギスの用語ですか? –
RoboGuiceが私のバックグラウンドスレッドを作成するのは、単純なPOJOだからです。このクラスには、@Inject private MyActivity mainActivity;というフィールドがあり、これもRoboGuiceによって設定されます。 –
'runOnUiThread'がオプションでない場合は、必要なのはインテントではなくハンドラです。 –