Android 4.3 gallery crop resultKod Anuluj
My Galaxy Nexus jest teraz uruchomiony na Androidzie 4.3, dzięki czemu mogę przetestować moją aplikację w tej nowej wersji. Wszystko wygląda dobrze z wyjątkiem kadrowania.
Mam aplikację, która używa aparatu do robienia zdjęć, a następnie przycina obraz za pomocą aplikacji Galeria.
Mogę także wybrać zdjęcie z galerii i przyciąć je po. Od Androida 4.3 zmieniła się aplikacja galerii.
Jeśli zrobię zdjęcie za pomocą api aparatu, a następnie poproszę galerię o przycięcie go w moimMetoda onActivityResult kod wyniku jest ustawiony na 0 (co oznacza anulowanie), podczas gdy kliknąłem „Zapisz” z widoku przycinania.
Ale jeśli wybiorę zdjęcie z galerii i przycięłem wszystko, wszystko działa, parametr resultCode ma wartość -1. Nazywam tę samą metodę kadrowania obrazu w obu przypadkach.
Mam quickpic (alternatywę dla aplikacji galerii) na moim telefonie, dzięki temu wszystko działa!
private void performCrop(Uri picUri) {
try {
int aspectX = 750;
int aspectY = 1011;
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(picUri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("scale", "true");
intent.putExtra("aspectX", aspectX);
intent.putExtra("aspectY", aspectY);
intent.putExtra("scaleUpIfNeeded", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(mCurrentPhotoPath)));
startActivityForResult(intent, CROP);
}
catch (ActivityNotFoundException anfe) {
String errorMessage = "Your device doesn't support the crop action!";
Toast toast = Toast.makeText(this, errorMessage, Toast.LENGTH_SHORT);
toast.show();
}
}
Wszystko działało dobrze na Androidzie 4.2.2. Dziękuję za pomoc!