我可以在webview中打开相机吗?

我可以在webview中打开安卓相机吗?

Solutions Collecting From Web of "我可以在webview中打开相机吗?"

使用Webview时最简单的方法是使用Intent。

如果您使用API​​,则必须自己构build大量的UI。 这取决于您在应用程序中需要执行的操作以及在“拍照过程”中需要执行多less控制。 如果你只是需要一个快速的方法来拍照并在你的应用程序中使用它,那么Intent就是要走的路。

意图示例:

private Uri picUri; private void picture() { Intent cameraIntent = new Intent("android.media.action.IMAGE_CAPTURE"); File photo = new File(Environment.getExternalStorageDirectory(), "pic.jpg"); cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo)); picUri = Uri.fromFile(photo); startActivityForResult(cameraIntent, TAKE_PICTURE); } public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch(requestCode){ case TAKE_PICTURE: if(resultCode == Activity.RESULT_OK){ Uri mypic = picUri; //Do something with the image. } } 

我从另一个答案中借用了这个例子的一部分来build立它。 但是我没有URL了。

在我正在写的应用程序中,我将这个图像转换为Base64,然后将其传递给Javascript,然后将其发布到我的服务器。 但是,这可能比你需要知道的更多。 🙂

这里是链接,使其在webView上工作

据我所知,这不是直接内置于Android API。 但是,您可以使用PhoneGap ,它将JavaScript挂钩提供给本地设备function(即相机)。

您可以在这里查看支持的function列表,并在这里阅读他们的Camera API文档。