【发布时间】:2014-06-11 11:27:14
【问题描述】:
我正在使用以下方法调用相机拍照:
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. 知道为什么会崩溃吗?
提前致谢。
【问题讨论】:
-
模拟器没有摄像头,你用的是第3方模拟器吗?运行时遇到什么错误