从嵌入式WebView的javascript函数调用android原生api
Calling android native APIs from javascript functions of embedded WebView
我是黑莓开发者,我没有任何Android编程经验。
我试图创建一个android应用程序,将有webview/嵌入式浏览器。我将加载一些网页与一些javascript嵌入浏览器。页面上会有一些按钮,这些按钮会调用javascript函数。其中一些功能需要访问本地API(例如Camera API)。是否有可能从javascript函数调用本地api或访问应用程序的本地代码?
现在这是可能在黑莓平台使用Javascript扩展。我预计Android也会出现类似情况。
谢谢。
任何正在寻找答案的人,我已经找到了基于@dtanders答案的解决方案。看看这个:http://developer.android.com/guide/webapps/webview.html BindingJavaScript
使用http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object, Java .lang. string)将Java接口暴露给运行在WebView中的JavaScript
如果你特别想要Camera API,这是可以做到的。在你的JS代码中,你可以调用一段Java代码,它会触发Camera App,拍摄照片,返回图像的URL,你的Java代码可以将其转发给JS方法。
参见:
http://developer.android.com/guide/webapps/index.htmlhttp://developer.android.com/guide/webapps/webview.html
这完全是我在黑暗中拍摄的,但这些可能对你有一些有用的信息。
Webview不响应触摸事件
Android支持点击事件在其WebView?
也不要忘记WebViews默认禁用javascript,你需要显式地将其设置为true才能使其工作。
- Android原生浏览器中的dom处理时间太长
- 从javascript调用android原生java代码
- 如何让原生 WebSocket 在 Android 4.03 及更高版本中工作
- Android 原生浏览器不支持 JavaScript Regexp .match()
- React Native Android 原生 UI 组件中的自定义事件
- 在Cordova项目中检查原生Android浏览器中的WebSocket支持
- 在 Android 中响应原生 Cloudkit 推送通知
- Android原生应用程序:无法滚动浏览包含大约200个元素的整个列表(appium java客户端)
- jQuery检查Android原生浏览器或Chrome
- 运行反应原生 Android 应用程序 - BatchedBridge 时出错
- 在javascript/Angular JS中安装并打开Android/ios原生应用程序
- React原生android无法加载js捆绑包:index.android.js中的更改可以'在apk中看不到
- Android React原生触摸响应程序调试-确定触摸响应程序
- 从Android原生浏览器上传时,文件类型为空字符串
- 与Android原生浏览器的fanybox兼容性
- 使用phonegap/cordova点击android原生菜单按钮启动jquery移动面板菜单
- 我们如何使用phonegap或javascript打开iPhone/android原生键盘
- 如何加载选定的联系人到一个文本框在Android原生应用程序与HTML5构建
- 从嵌入式WebView的javascript函数调用android原生api
- 如何在同一项目的android原生和android phonegap中共享sqlite数据库