如何在Android中没有按下捕获按钮的情况下自动捕获和保存图像?

时间:2016-08-19 13:30:19

标签: android android-image capture android-capture

我正在使用Android 5.0来实现一个允许自动捕获图像并将图像保存到手机中的应用程序。目前,我正在使用波纹管代码,但它需要按下手机的Capture UI中的捕获按钮。是否可以在不按下捕获按钮的情况下捕获和保存图像?例如,我只是调用函数myCaptureandSave(),然后手机将显示Capture UI并中间捕获图像并保存,我不需要做更多的步骤。

        public void myCaptureandSave() {
        String image_path = Environment.getExternalStorageDirectory() +"/"+System.currentTimeMillis()+".jpg";
        Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        //File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
        File output = new File(image_path);
        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(output));
        startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
        }

3 个答案:

答案 0 :(得分:1)

你必须使用Camera Api。创建服务,在后台运行,其中包含对此api和当前SurfaceTexture的引用,这是必要的,相机将“预览到无处”。之后,即使设备已经定位,您也可以拍照

答案 1 :(得分:1)

是的,这是可能的,但我相信你不能使用内置摄像头(调用意图)。您必须使用Camera2 API。

我创建了一个使用Camera2 API的库,如果需要,可以查看它:

https://github.com/omaflak/Android-Camera2-Library

在您的情况下,只需传递一个虚拟string {} Lorem Ipsum Dolor 进行预览,然后拨打SurfaceTexture

希望它会有所帮助

答案 2 :(得分:0)

how to capture an image in background without using the camera application

我这次尝试过,稍微改变一下,我得到了它。 希望这会有所帮助..