Buonasera, ho creato un app un po complessa che permette di registrare sul posto i rifornimenti fatti ai veicoli aziendali collegandosi al Database aziendale tramite webservice previa autenticazione NTLM.
Tale applicazione permette anche di effettuare foto alla ricevuta da inviare al database.
La faccio breve....
Installata su smartphone con Android 11 o piu vecchi non ha nessun problema
Installata su smartphone con Android da 13 in su quando scatto la foto ci mette una vita anche se poi alla fine lo fa......ma è snervante.
Posto un po di codice con le function che scattano la foto e la inserscono in una ImageView......ed inoltre una che codifica in base64 per trasmettere i dati al database.....
Secondo voi sbaglio qualcosa io o è Android 13 che rompe?
Ho cercato parecchio in rete ma non ho trovato nulla....
Grazie a tutti
Tale applicazione permette anche di effettuare foto alla ricevuta da inviare al database.
La faccio breve....
Installata su smartphone con Android 11 o piu vecchi non ha nessun problema
Installata su smartphone con Android da 13 in su quando scatto la foto ci mette una vita anche se poi alla fine lo fa......ma è snervante.
Posto un po di codice con le function che scattano la foto e la inserscono in una ImageView......ed inoltre una che codifica in base64 per trasmettere i dati al database.....
Secondo voi sbaglio qualcosa io o è Android 13 che rompe?
Codice:
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent, PHOTO_REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==PHOTO_REQUEST_CODE && resultCode == RESULT_OK)
{
Bitmap bp = (Bitmap) data.getExtras().get("data");
final ImageView photo = findViewById(R.id.photo);
photo.setImageBitmap(bp);
String imgString = toBase64(bp);
EditText etimagetext = findViewById(R.id.Et_Image);
etimagetext.setText(imgString);
}
}
private String toBase64(Bitmap bm) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 50, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
return Base64.encodeToString(b, Base64.NO_WRAP);
}
Ho cercato parecchio in rete ma non ho trovato nulla....
Grazie a tutti
Ultima modifica da un moderatore: