1

J'appelle le scanner ZXing de Screen-A en utilisant Intent s. Une fois l'analyse terminée, le contrôle retourne, bien sûr, au code derrière Screen-A et je fais un autre travail avant d'appeler Screen-B.Android: déterminer le contexte actuel pour afficher une alerte

Problème: l'écran est noir pendant cette période de travail et je ne peux pas déterminer le contexte approprié à utiliser pour afficher un "travail ..." Toast/msgbox. Toute aide ou suggestion?

+0

Non familier avec scanner ZXing. Est-ce qu'il affiche quelque chose ou fait-il juste une tâche en arrière-plan qui signale quand c'est fait? – JRL

+0

Désolé de ne pas vous expliquer mieux. ZXing est une bibliothèque qui permet à la caméra de scanner les codes à barres. Donc, dans mon exemple, j'aurais ouvert Screen-A et ferais un appel d'intention à ZXing (en utilisant startActivityForResult) qui activerait alors la caméra, capturerait et décoderait le code à barres. Au retour de ZXing je ne peux pas référencer le contexte Screen-A pour afficher un message "en attente". Je ne suis pas sûr de savoir comment déterminer le contexte disponible ou, si ce n'est pas le cas, comment mettre à nouveau un contexte au premier plan. Aidez-moi? –

Répondre

0

Vous ne pouvez pas afficher un ProgressDialog avant votre appel à ZXing, puis le supprimer dans onActivityResult()?

+0

Une bonne idée. Quand j'essaye ceci je peux voir la boîte de dialogue de progression apparaître juste avant la fenêtre de balayage mais après le balayage il revient à un écran noir. Apparemment, ZXing se maintient dans un autre contexte ou a temporairement élevé un autre contexte. De toute façon, je ne suis pas sûr de savoir comment déterminer le contexte actuel pour afficher la boîte de dialogue "travail". D'autres idées? –

1

Exécuter votre « période de travail » dans son propre thread, alors que le fil fonctionne en arrière-plan Android passera le contrôle à l'écran-A qui peut afficher un ProgressBar. Le thread "work period" passera Messages to Screen-A mettant à jour la valeur d'une variable qui mesure la progression. Voici un bon endroit pour commencer les discussions Android:

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

Questions connexes