Bonjour,
Une fois de plus je me tourne vers vous parce que là encore je craque.
Depuis hier, j'essaie d'implémenter le barcode scanner sur mon application et je n'y arrive pas...
A la base, il y a une dizaine de lignes à coder comme le montre cet exemple :
http://code.google.com/p/zxing/wiki/ScanningViaIntent
Bien evidemment, j'ai inclus dans mon appli les deux fichiers Intentintegrator et IntentResult.
Quand je clique sur mon bouton, cela lance bien le scanner, cependant je n'ai rien en retour... J'essaie de mettre des messages dans le logcat mais ils n'arrivent pas, a croire qu'il ne retourne pas de onActivityResult, et là je ne vois plus comment avancer...
Je penses que c'est du à la conception de mon application et je voulais avoir votre avis...
J'ai une activité, qui lance 4 onglets (tabhost), Je dois cliquer sur un des onglets pour lancer une page. Sur cette page, un bouton lance une nouvelle classe de cette manière :
Bref, le log s'affiche bien. et Scanner.class prend le relai dont voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Intent intent4 = new Intent (getBaseContext(),Scanner.class); intent4.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); // Start the root activity withing the group and get its view View view4 = ControlPanelActivity.group.getLocalActivityManager().startActivity("Scanner", intent4 .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView(); Log.i("MONAPPLI","Click sur position 3 SCANNER"); // Replace the view of this ActivityGroup ControlPanelActivity.group.replaceView(view4);
Le problème étant que le scanner se lance bien, il capture le barcode, et au retour, il ne se passe rien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 public class Scanner extends Activity { @Override public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); IntentIntegrator integrator = new IntentIntegrator(getParent()); integrator.initiateScan(); } @Override public void onActivityResult (int requestCode, int resultCode, Intent intent) { Log.i("BDBUZZ"," requestCode = " + requestCode + " resultCode = " + resultCode ); if (requestCode == 0) { if (resultCode == RESULT_OK) { String contents = intent.getStringExtra ("SCAN_RESULT"); String format = intent.getStringExtra ("SCAN_RESULT_FORMAT"); Log .i("MONAPPLI" ," content : " + contents ); Log .i("MONAPPLI" ," format : " + format ); Intent i = new Intent (Scanner.this, WS_albums.class); i.putExtra ("REQUEST_TYPE ", 0); i.putExtra ("id_serie", contents); startActivity(i); } else if ( resultCode == RESULT_CANCELED ) { Log .i("MONAPPLI" , " Automatic research cancel "); } } } }
De plus comme je debuggue sur le téléphone et pas sur l'émulateur, les messages défilent trop rapidement, mais je n'ai rien noté d'exploitable et je n'ai pas d'erreur a proprement parler...
J'ai un problème dans le retour mais je ne vois pas ou...
Quelqu'un aurait-il une idée ?
Merci d'avance
Cadoudal56
Partager