我有一个问题:需要用相机拍照,然后显示屏幕,可以裁剪拍摄的照片。我添加了这样的功能:
protected void callCropPhoto(Uri uri) {
try {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", avatar.getWidth());
intent.putExtra("aspectY", avatar.getHeight());
intent.putExtra("outputX", avatar.getWidth());
intent.putExtra("outputY", avatar.getHeight());
intent.putExtra("return-data", true);
startActivityForResult(intent, CROP_PHOTO_REQUEST_CODE);
} catch (Exception ex) {
// Some devices can't support image cropping.
}
}
当我从带有照片的相机获得结果时,我使用临时 uri 调用此函数来拍摄照片。当调用 onActivityResult 通常我得到 RESULT_OK 和数据 - 一切正常。但是在横向模式下的一台设备(android 版本 2.3.4)上,我得到了 RESULT_CANCELED 并且没有出现裁剪的屏幕。问题是什么?