Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.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
从嵌入式WebView的javascript函数调用android本机API_Javascript_Android - Fatal编程技术网

从嵌入式WebView的javascript函数调用android本机API

从嵌入式WebView的javascript函数调用android本机API,javascript,android,Javascript,Android,我是黑莓开发人员,没有任何Android编程经验 我正在尝试创建一个android应用程序,它将具有webview/嵌入式浏览器。我将在嵌入式浏览器中加载一些带有Java脚本的网页。页面上会有一些按钮调用javascript函数。其中一些函数需要访问本机API(例如照相机API)。是否可以从javascript函数调用本机api或访问应用程序的本机代码 现在,在黑莓平台上使用Javascript扩展就可以做到这一点。我希望Android也能有类似的功能 多谢各位 任何正在寻找答案的人,我都找到了

我是黑莓开发人员,没有任何Android编程经验

我正在尝试创建一个android应用程序,它将具有webview/嵌入式浏览器。我将在嵌入式浏览器中加载一些带有Java脚本的网页。页面上会有一些按钮调用javascript函数。其中一些函数需要访问本机API(例如照相机API)。是否可以从javascript函数调用本机api或访问应用程序的本机代码

现在,在黑莓平台上使用Javascript扩展就可以做到这一点。我希望Android也能有类似的功能

多谢各位

任何正在寻找答案的人,我都找到了基于@dtanders答案的解决方案。 看看这个:

用于将Java接口公开给在WebView中运行的JavaScript

如果您特别想要摄像头API,可以这样做。从你的JS代码中,你可以调用一段Java代码,这段代码反过来会触发相机应用程序,拍摄一张照片,返回图像的URL,你的Java代码可以将其转发给JS方法。

这是我在黑暗中拍摄的完整照片,但这些可能对你有一些有用的信息

另外,不要忘记WebView默认禁用了javascript,您需要显式地将其设置为true才能使其正常工作

见:


http://developer.android.com/guide/webapps/webview.html

我对javascript知之甚少,所以不能肯定。但我从来没有想到一种方法,你可以在Android上做到这一点。您是否已经有了要加载到WebView中的web应用程序?Tim是的,我们已经有了一个web应用程序。但我还没有用WebView创建任何本机应用程序示例。我想先知道有没有可能。谢谢。这正是我想要的。使用addJavascriptInterface方法时要非常小心。它允许javascript使用注入对象的公共字段。我找到了解决方案。但我仍然对能为我完成所有摄像功能的“一段Java代码”感兴趣。或者你也在谈论addJavaScriptInterface?