【问题标题】:How to capture user image in android? [closed]如何在android中捕获用户图像? [关闭]
【发布时间】:2011-06-23 12:12:01
【问题描述】:

我的要求是,如果用户单击“立即拍照”按钮,则使用相机捕获用户的图像并将其显示给用户。
谁能提供示例代码?

【问题讨论】:

  • 正在使用该应用程序的用户

标签: android


【解决方案1】:

首先在您的按钮单击处理程序中创建一个 Intent:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);  

Intent 通常使用 startActivity() 方法启动。但是,在这种情况下,您的应用程序希望等待并使用相机图像捕获的结果。因此,您希望使用 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。这是您需要在应用程序中定义为相机图像捕获 Intent 返回的请求代码的值,如下所示:

private static final int CAMERA_PIC_REQUEST = 1337;  

由此返回的图像适合在小型设备屏幕上显示。它作为 Android Bitmap 对象直接进入结果:

Bitmap thumbnail = (Bitmap) data.getExtras().get("data");  

您如何处理 Bitmap 对象取决于您。在屏幕上显示它就像在 ImageView 上调用 setImageBitmap() 方法一样简单。

【讨论】:

    猜你喜欢
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 2012-10-08
    相关资源
    最近更新 更多