Intent intent = new Intent("com.android.camera.action.CROP");
File path = this.getExternalFilesDir("tmp");
File file = new File(path, "tmp_" + String.valueOf(System.currentTimeMillis()) + ".jpg");
Uri tmpUri = Uri.fromFile(file);
intent.setData(selectedImage);
intent.putExtra(MediaStore.EXTRA_OUTPUT, tmpUri);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("crop", "true");
intent.putExtra("scale", "true");
intent.putExtra("outputX", 100);
intent.putExtra("outputY", 100);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("return-data", false);
startActivityForResult(intent, REQUEST_CROP);
私はこのコードを使用して画像をトリミングしています。それはアンドロイド2.xで完全に動作します。しかし、3.1(motorola xoom)と3.2(acer iconia)では、クロップ領域を選択して「保存」をタップするとアプリケーションがフリーズします(onActivityResultは呼び出されません)。 selectedImage変数に実際のUriと実際のイメージがあるので、問題はここにはありません。Android 3.xイメージクロップフリーズ(モトローラxoomとエイサーアイコン)
3.1と3.2のアンドロイドエミュレータでは、アプリケーションも完全に動作します。 問題は何ですか?