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!

questionAnswers(3)

yourAnswerToTheQuestion