1

Intentを使用してスクリーンAからZXingスキャナーを呼び出しています。スキャンが完了すると、コントロールはScreen-Aの後ろのコードに戻り、Screen-Bを呼び出す前に他の作業を行います。Android:アラートを表示する現在のコンテキストを確認する

問題:この作業期間中に画面が黒くなり、「作業中...」Toast/msgboxの表示に使用する適切なコンテキストを判断できません。助けや提案はありますか?

+0

精通していません。それは何かを表示するか、それが完了したときにシグナルを伝えるだけのバックグラウンドでタスクを実行していますか? – JRL

+0

申し訳ありませんが説明してください。 ZXingは、カメラがバーコードをスキャンできるようにするライブラリです。だから私の例では、Screen-Aを開いてZXing(startActivityForResultを使って)を呼び出し、カメラを起動し、バーコードをキャプチャし、デコードします。 ZXingから戻ってきたら、Screen-Aコンテキストを参照して「待機中」のメッセージを表示することはできません。私はどのようなコンテキストが利用可能かを判断する方法が不明であり、もしそうでなければ、フォアグラウンドに再びコンテキストを持ち込む方法はわかりません。助けて? –

答えて

0

ProgressDialogを表示してからZXingを呼び出す前に、onActivityResult()に拒否できませんか。

+0

良い考え。これを試すと、スキャンウィンドウの直前に進捗ダイアログが表示されますが、スキャン後には黒い画面に戻ります。明らかに、ZXingは別のコンテキストを保持しているか、一時的に別のコンテキストを上昇させています。どちらの方法でも、現在のコンテキストを決定して「作業中」ダイアログを表示する方法がわかりません。他のアイデア? –

1

threadそれ自身の中にあなたの「作業期間」を実行し、そのスレッドがバックグラウンドで動作しながら、Androidは画面-プログレスバーを表示することができますに制御を渡します。 「作業期間」スレッドは、進行状況を測定する変数の値を更新して画面Aにメッセージを渡します。ここではAndroidのスレッドを開始するには良い場所です:ZXingスキャナと

http://developer.android.com/guide/appendix/faq/commontasks.html#threading

関連する問題