Me gustaría capturar imágenes (2) y luego recuperar la imagen capturada en un elemento de vista web.
Decidí abrir la cámara en WebAppInterface
@JavascriptInterface public String openCamera() { Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); WEB_APP = 1; startActivityForResult(intent, CAMERA_PIC_REQUEST); while(WEB_APP == 1) {} if(imageBase64!=null) WEB_APP=0; return imageBase64; }Luego en startActivityForResult
@Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if(requestCode == CAMERA_PIC_REQUEST){ try { Bitmap image = (Bitmap) intent.getExtras().get("data"); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream); byte[] byteArray = byteArrayOutputStream.toByteArray(); String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT); imageBase64 = encoded; }catch (Exception e){ Toast.makeText(getApplicationContext(),"No file selected",Toast.LENGTH_LONG).show(); } } WEB_APP = 0; } Recupero la imagen, la asigno a static String imageBase64 luego le devuelvo un valor en openCamera()
Este proceso funciona bien, donde tengo un problema, no puedo adjuntar dos imágenes, una vez que selecciono la primera imagen en la captura de la segunda imagen, el código no recupera nada y la aplicación se vuelve inutilizable.
Por favor, ayuda, ¿dónde estoy entendiendo mal las cosas?