Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android应用程序中的摄像头控制_Java_Android_Android Emulator - Fatal编程技术网

Java Android应用程序中的摄像头控制

Java Android应用程序中的摄像头控制,java,android,android-emulator,Java,Android,Android Emulator,我正在为Android 2.2构建一个基于照片库的应用程序。有一个选项可以从相机拍摄照片并在应用程序中使用。我期待着: 从应用程序中启用相机 拍照 自动关闭相机并在应用程序内显示捕获的图片 不幸的是,我无法将捕获的图像发送到应用程序。拍照后,相机不会自动关闭或返回应用程序。现在我必须点击后退按钮进入应用程序并选择图片手动从SD卡中选择。相机是通过意图打开的,我正在使用下面的类 我想。。您的操作与下面的代码类似 Intent cameraIntent=newintent(android.provi

我正在为Android 2.2构建一个基于照片库的应用程序。有一个选项可以从相机拍摄照片并在应用程序中使用。我期待着:

  • 从应用程序中启用相机

  • 拍照

  • 自动关闭相机并在应用程序内显示捕获的图片

  • 不幸的是,我无法将捕获的图像发送到应用程序。拍照后,相机不会自动关闭或返回应用程序。现在我必须点击后退按钮进入应用程序并选择图片手动从SD卡中选择。相机是通过意图打开的,我正在使用下面的类


    我想。。您的操作与下面的代码类似

    Intent cameraIntent=newintent(android.provider.MediaStore.ACTION\u IMAGE\u CAPTURE); //请求代码

            startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
    
    使用startActivityForResult代替startActivity。。每当你用完相机时。。按ok。。你会回到你的活动中。。然后在活动中,将调用onActivityResult回调。在这里,您将获得单击图像的数据


    谢谢

    你需要做两件事。启动照相机应用程序,并告诉它将拍摄的照片存储在何处:

    File photo = new File(Environment.getExternalStorageDirectory(),  "myFile.jpg");
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
    startActivityForResult(intent, myRequestCode);
    
    当用户关闭摄像头应用程序时,您的应用程序和活动将恢复。因此,您必须重写以获得结果:

    if (resultCode == myRequestCode){
      File photo = new File(Environment.getExternalStorageDirectory(), "myFile.jpg");
      // open it, show it, insert into MediaStore whatever
    }
    

    如果您没有提供保存位置,您也可以使用或使用来检索它。

    是否使用了Camera类您是使用自定义摄像头还是通过intent打开摄像头?是的,我摄像头使用的是intent,我使用的是上述摄像头类。我已经用这些输入更新了问题。你开火的目的是什么?