我要求如果用户点击“拍照”现在按钮,使用相机捕捉用户的图像并将其显示给用户。 任何人都可以提供示例代码吗?
由于
答案 0 :(得分:1)
首先在按钮点击处理程序中创建一个Intent:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
通常使用startActivity()方法启动Intent。但是,在这种情况下,您的应用程序希望等待并使用Camera图像捕获的结果。因此,您希望使用startActivityForResult()调用来发送Intent。这样,您可以检查结果并使用捕获的图像。
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
调用startActivityForResult()方法时,将启动Activity。一旦该Activity完成,调用Activity将在其onActivityResult()处理程序中显示一个结果。因此,您需要在应用程序的Activity中实现onActivityResult()回调方法,如下所示:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_PIC_REQUEST) {
// do something
}
}
是的,它又是:CAMERA_PIC_REQUEST。这是您需要在应用程序中定义的值,作为Camera图像捕获Intent返回的请求代码,如下所示:
private static final int CAMERA_PIC_REQUEST = 1337;
从此返回的图像适合在小型设备屏幕上显示。它作为Android Bitmap对象直接导入结果:
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
您对Bitmap对象的处理取决于您自己。在屏幕上显示它就像在ImageView上调用setImageBitmap()方法一样简单。
答案 1 :(得分:0)
我按照以下链接中描述的源代码来捕获图像。请尝试这样做:http://labs.makemachine.net/2010/03/simple-android-photo-capture/