Bonjour,
Je cherche à renvoyer une capture d'écran issu de la caméra dans mon activity principale.
Pour ce faire, j'utilise l'implémentation de cette fonction dans mon activity camera :
et dans mon activity principale :
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 Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() { public void onPictureTaken(byte[] imageData, Camera c) { onProgress=true; if (imageData != null) { Intent mIntent = new Intent(); StoreByteImage(mContext, imageData, 50, "ImageName"); Bundle b = new Bundle(); b.putByteArray("imageData", imageData); mIntent.putExtras(b); setResult(FOTO_MODE,mIntent); onProgress=false; finish(); } mCamera.startPreview(); mPreviewRunning=true; } };
Lorsque je clic pour prendre la capture, je reste bloqué dans l'activityCamera. Si je commente la ligne setResult, l'activity se ferme mais je me retrouve sans mes données.
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 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ AlertDialog.Builder adb = new AlertDialog.Builder(this); adb.setTitle("QRCode"); adb.setPositiveButton("Ok", null); if(requestCode == CODE_DE_MON_ACTIVITE) { switch(resultCode){ case CamaraView.FOTO_MODE: System.out.println("test passage"); BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize = 5; if(data!=null) { System.out.println("data"); Bundle extras = data.getExtras(); byte[] imageData = extras.getByteArray("imageData"); bitmap = BitmapFactory.decodeByteArray(imageData , 0, imageData.length,options); image.setImageBitmap(bitmap); } adb.setMessage("Vous avez pris une photo."); adb.show(); return; } } } }
Avez-vous une idée de ce qui bloque la fermeture de mon activity ainsi que l'envoie des données ?
Partager