2016-08-19 77 views
0

我正在使用Android 5.0实现应用程序,该应用程序允许自动捕获图像并将其保存到手机中。目前,我正在使用波纹管代码,但它需要按下手机的Capture UI中的捕捉按钮。是否可以在不按下捕捉按钮的情况下捕捉并保存图像?例如,我只需调用功能myCaptureandSave(),然后手机将显示Capture UI并中间捕捉图像并保存,我不需要再执行更多操作。如何自动捕捉并保存图像,而无需在Android中按捕捉按钮?

 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); 
     } 
+1

你不能这样做的意图。意图打开其他应用程序。你必须制作自己的相机应用程序。 Folow [这](https://developer.android.com/guide/topics/media/camera.html#custom-camera)的说明 –

回答

1

您必须使用Camera Api。创建服务,在后台运行,持有对此api和当前SurfaceTexture的引用,这是必要的,相机将'预览到无处'。之后你就可以拍照,即使设备已经被锁住了

1

是的,这是可能的,但我相信你不能用内部摄像头(调用意图)来做到这一点。你必须使用Camera2 API。

我做了一个库使用Camera2 API,你可以,如果你想看看它:

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

在你的情况下,简单地传递了预览虚拟SurfaceTexture并调用takePicture()

希望这将有助于

+0

好,我正在测试 – Jame

+0

谢谢,但它有错误,当我在我的设备中运行。我在https://github.com/omaflak/Android-Camera2-Library/issues/2 – Jame

+0

报道我也想在Android中使用内置相机应用程序。可能吗? – Jame