Salve a tutti. Sto cercando un metodo "universale" che permetta all'utente di ritagliare un'immagine dopo averla scelta dalla galleria o acquisita dalla fotocamera. Ero convinto di esserci riuscito, ma a quanto pare il metodo da me testato non funziona su tutti i device.
Avevo scritto questo metodo:
codice:
protected void cropImage(Uri picUri)
{
Intent cropIntent = new Intent("com.android.camera.action.CROP");
cropIntent.setDataAndType(picUri, "image/*");
cropIntent.putExtra("crop", "true");
cropIntent.putExtra("aspectX", 3);
cropIntent.putExtra("aspectY", 4);
cropIntent.putExtra("scale", true);
cropIntent.putExtra("outputX", 300);
cropIntent.putExtra("outputY", 400);
cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, picUri);
startActivityForResult(cropIntent, CROP_REQUEST);
}
Sui miei terminali equipaggiati con Jelly Bean funziona tutto a meraviglia, su un tablet Asus TF103C equipaggiato con KitKat il metodo non funziona, non parte la activity che permette di ritagliare l'immagine. Ho letto che per questa operazione ci si affida a librerie esterne. Io ho provato questa: https://github.com/biokys/cropimage
ma pur implementando correttamente il codice non ho risolto il problema (sui terminali JB tutto a meraviglia, sull'Asus con KK niente da fare. E sono certo che il codice fosse implementato correttamente in quanto sfruttando questo metodo la schermata di editing dell'immagine aveva layout e funzioni diverse da quelle implementate col "mio" metodo).
Avevo intenzione di provare questa, che sembra essere priva di problemi: https://github.com/lvillani/android-cropimage
ma non riesco a includerla nel mio progetto.
Qualcuno sa aiutarmi? Grazie in anticipo!