1

Ich rufe den ZXing-Scanner von Screen-A mit Intent s an. Sobald der Scan abgeschlossen ist, kehrt die Steuerung natürlich zum Code hinter Screen-A zurück und ich mache noch etwas Arbeit, bevor ich Screen-B anrufe.Android: Ermitteln des aktuellen Kontexts zum Anzeigen einer Warnung

Problem ist: der Bildschirm ist schwarz während dieser Arbeitsperiode und ich kann den richtigen Kontext nicht feststellen, um eine "arbeiten ..." Toast/msgbox anzuzeigen. Irgendwelche Hilfe oder Vorschläge?

+0

Nicht mit ZXing Scanner vertraut. Zeigt es etwas oder ist es nur eine Aufgabe im Hintergrund, die signalisiert, wenn es fertig ist? – JRL

+0

Entschuldigung für die Erklärung nicht besser. ZXing ist eine Bibliothek, mit der die Kamera Barcodes scannen kann. In meinem Beispiel würde ich Screen-A öffnen und einen Intents-Aufruf an ZXing machen (mit startActivityForResult), der dann die Kamera aktiviert, den Barcode erfasst und dekodiert. Nach der Rückkehr von ZXing kann ich den Screen-A-Kontext nicht referenzieren, um eine "Warte" -Meldung anzuzeigen. Ich bin mir nicht sicher, wie ich feststellen kann, welcher Kontext verfügbar ist, oder, wenn es keinen gibt, wie man einen Kontext wieder in den Vordergrund bringt. Hilfe? –

Antwort

0

Können Sie keine ProgressDialog vor Ihrem Anruf bei ZXing anzeigen und dann in onActivityResult() entlassen?

+0

Ein guter Gedanke. Wenn ich das versuche, kann ich sehen, dass der Fortschrittsdialog gerade vor dem Scanfenster erscheint, aber nach dem Scan geht es zurück auf einen schwarzen Bildschirm. Scheinbar hält ZXing an einem anderen Kontext fest oder hat vorübergehend einen anderen Kontext erhöht. Wie auch immer, ich bin mir nicht sicher, wie ich den aktuellen Kontext bestimmen kann, um den "Arbeits" -Dialog anzuzeigen. Andere Ideen? –

1

Führen Sie Ihre „Arbeitsperiode“ in einem eigenen thread, während dieser Thread im Hintergrund Android funktioniert die Steuerung an Bildschirm-A übergeben, die eine ProgressBar anzeigen kann wird. Der Thread "Arbeitszeitraum" übergibt Nachrichten an Bildschirm-A, der den Wert einer Variablen aktualisiert, die den Fortschritt misst. Hier ist ein guter Ort, um mit Android Threads zu starten:

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

Verwandte Themen