我正在使用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);
}
答案 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
我这次尝试过,稍微改变一下,我得到了它。 希望这会有所帮助..