保存第一张图片后的Android连续图像捕获(意图 - ACTION_IMAGE_CAPTURE)

时间:2014-08-06 10:33:13

标签: android android-intent camera

您好我正在开发一个应用程序,需要拍摄必须通过电子邮件发送的图片。当相机意图启动相机启动时它允许我捕获图像,当我按下SAVE图像显示在图像视图中。

现在我需要继续拍摄图像,即按下SAVE后相机应该重新开始并准备拍摄照片,直到我点击后退按钮。

有人可以帮忙吗?

现在我的代码是

        Intent camIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        fileUri = getOutputMediaFileUri(FileColumns.MEDIA_TYPE_IMAGE);
        camIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);          
        startActivityForResult(camIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{   
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) 
    {
        if (resultCode == RESULT_OK)
        {
            ImageView img=(ImageView)findViewById(R.id.imageView1);
            img.setImageURI(fileUri);
        } 

        else if (resultCode == RESULT_CANCELED)
        {
        } 
    }
}

1 个答案:

答案 0 :(得分:1)

在活动结果上再次触发相同的意图再次启动相机并在此处理它,直到您想要捕获图像为止。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{   
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) 
    {
        if (resultCode == RESULT_OK)
        {
            ImageView img=(ImageView)findViewById(R.id.imageView1);
            img.setImageURI(fileUri);
            Intent camIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            fileUri = getOutputMediaFileUri(FileColumns.MEDIA_TYPE_IMAGE);
            camIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);          
            startActivityForResult(camIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
        } 

        else if (resultCode == RESULT_CANCELED)
        {
        } 
    }
}