J'ai une application dans laquelle un utilisateur peut télécharger une image pour son profil utilisateur. Dans mon application, je permets à l'utilisateur de recadrer une image en utilisant le cropper natif. Cependant, lorsque je tente de recadrer une grande image que je reçois l'erreur suivante dans mon Logcat:android.os.TransactionTooLargeException avec l'activité de recadrage
!!! FAILED BINDER TRANSACTION !!!
Exception when starting activity com.example.somename/com.example.somename.Profile
android.os.TransactionTooLargeException
Je commence le métayer en utilisant le bit de code suivant:
Intent cropIntent = new Intent("com.android.camera.action.CROP");
cropIntent.setDataAndType(imageFileUri , "image/*");
cropIntent.putExtra("crop", "true");
cropIntent.putExtra("aspectX", 1);
cropIntent.putExtra("aspectY", 1);
cropIntent.putExtra("outputX", 265);
cropIntent.putExtra("outputY", 265);
cropIntent.putExtra("scale", true);
cropIntent.putExtra("return-data", true);
startActivityForResult(cropIntent, PIC_CROP);
puis dans mon onActivityResult le code suivant obtient l'image recadrée:
Bundle extras = data.getExtras();
Bitmap selectedBitmap = extras.getParcelable("data");
imgDisplayPic.setImageBitmap(selectedBitmap);
Je suppose le problème est avec le métayer essayant d'envoyer un grand bitmap comme parcelable retour à mon activité. Y at-il un moyen de contourner cela? Ou une autre façon d'obtenir une image recadrée?
Merci d'avance pour toute aide.
le lien est mort. – alp
@Cinvasion pouvez-vous fournir le lien une autre fois !!!! –