【发布时间】:2013-02-12 08:16:08
【问题描述】:
我的应用程序使用Camera API 从相机拍照。
但是,我更愿意调用stock Camera application 并接收已保存图片的Uri。
(我更喜欢这种方式,因为相机应用程序有许多现成的可用功能,否则我必须在我的应用程序中编写代码)。
您是否知道以这种方式调用 stock Camera 的意图?
【问题讨论】:
标签: android android-intent camera
我的应用程序使用Camera API 从相机拍照。
但是,我更愿意调用stock Camera application 并接收已保存图片的Uri。
(我更喜欢这种方式,因为相机应用程序有许多现成的可用功能,否则我必须在我的应用程序中编写代码)。
您是否知道以这种方式调用 stock Camera 的意图?
【问题讨论】:
标签: android android-intent camera
要利用默认Camera API并取回保存的图片URI,您可以使用此answer。
【讨论】:
试试这样的:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 100);
并尝试检索图像:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Bitmap bitmap = null;
if (requestCode == IMAGE_CAPTURE_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
try {
bitmap = (Bitmap) intent.getExtras().get("data");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
【讨论】:
使用相机捕捉图像调用这个意图
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, requestCode);
并使用 onActivityResult 函数处理回调
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Bitmap mImageBitmap;
Bundle extras = data.getExtras();
mImageBitmap = Bitmap.createScaledBitmap(
(Bitmap) extras.get("data"), 100, 100, false);
}
mImageBitmap 将保存您捕获的图像
【讨论】: