メディアギャラリーから画像をトリミングしようとしています。私は画像にアクセスし、デフォルトのクロップツールを起動し、クロップされた画像の結果を保存することもできます。しかし、私が使用している意図は、トリミングが成功した場合には結果を返さないでしょう。Android Crop IntentがActivityResultを返さない
- mainメソッド -
// Crop photo intent.
Intent intent = new Intent("com.android.camera.action.CROP", null);
intent.setData(uri);
intent.putExtra("outputX", outputX);
intent.putExtra("outputY", outputY);
intent.putExtra("aspectX", aspectX);
intent.putExtra("aspectY", aspectY);
intent.putExtra("scale", scale);
intent.putExtra("return-data", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, createTempCroppedImageFile());
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
// Publish intent to crop picture.
activity.startActivityForResult(intent, activity.CROP_PHOTO_REQUEST_CODE);
- OnActivityResult()メソッド -
// Photo crop activity.
if (requestCode == CROP_PHOTO_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Log.d(TAG, "user cropped a photo");
signupScreen.setImage(new PhotoTool(this).getTempCroppedImageFileLocation());
} else
Log.d(TAG, "user cancelled photo crop");
}
-
私は作物の活動をキャンセルした場合、私が手"ユーザーは写真の切り抜きをキャンセルしました"しかし、イメージをトリミングすると、新しいトリミングされたイメージがターゲットディレクトリに表示されますが、OnActivityResult()関数は決して呼び出されません。何を与える? LogCatを見るUPDATE
重複するこの回答を確認してください:http://stackoverflow.com/questions/12758425/how-to-set-the-output-image-use-com-android-camera-action-crop/ – hcpl