我正在使用以下方法调用相机拍照:
private void callExternalAppForImage() {
mImageTakenUri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues());
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageTakenUri);
intent.putExtra("crop", "true");
intent.putExtra("scale", "false");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", CONSTS_IMAGE_PARAMS.FULL_SIZE_SIDE);
intent.putExtra("outputY", CONSTS_IMAGE_PARAMS.FULL_SIZE_SIDE);
startActivityForResult(intent, REQUEST_CODE_TAKE_IMAGE);
}
它带有一个矩形边框,用于在拍摄后裁剪部分图像。
这在三星Galaxy 2上运行得很好,但是当我尝试在模拟器中运行它时,我在拍摄后没有得到裁剪框(我可以忍受),但返回代码是0而不是Activity。RESULT_OK(= 1)。此外,我得到的消息"不幸的是,相机已停止"在模拟器中。
我有两个问题:1. 裁切功能没有内置在相机意图?(注意,我没有使用com.android.camera.action.CROP意图)2. 知道它为什么会崩溃吗?
在Play Store上有超过一百万的应用程序。其中数百个是可能响应裁剪功能没有内置在相机意图?
ACTION_IMAGE_CAPTURE
的相机应用程序。除此之外,Android设备上还预装了数十款(如果不是数百款的话)相机应用。
不需要响应随机额外,你决定把ACTION_IMAGE_CAPTURE
Intent
。特别是,它们都不需要实现任何类型的裁剪功能。
如果你希望为你的用户提供图像裁剪功能,你可以自己编写,或者使用图像裁剪库。
知道为什么它会崩溃吗?
可能有一个bug