我想让在外部服务器上运行的Web应用程序访问智能手机传感器和地址簿数据。 W3C正在制定一个名为Device API的规范。但是,它尚未完成,并且可能需要相当长的时间,直到浏览器供应商提供工作实现。
但我现在需要这个功能(用于概念验证)。我不关心可移植性,Android就足够了。要求用户首先安装特殊软件也没关系。
我想到了两个解决方案:
建议欢迎。
答案 0 :(得分:1)
对于android,我相信你可以通过在你自己的轻量级“浏览器”应用程序中包装webview或者为所提供的浏览器构建一个插件来向javascript公开自定义本地功能。正如在这个问题How to develop plugins for the native Android browser中指出的那样,sdk样本中有一个例子。
但是,如果您启用了一个网站来访问我设备的联系人,我会感到很沮丧,并且可能会拒绝在我的设备上安装您的应用程序。
答案 1 :(得分:1)
使用WebView:
http://developer.android.com/reference/android/webkit/WebView.html
此类是您可以滚动自己的网络浏览器的基础
WebView有几个自定义点,您可以在其中添加自己的行为。这些是:
添加JavaScript-to-Java接口 随着 addJavascriptInterface(Object,String) 方法。这允许您绑定Java 对象进入WebView所以他们可以 从网页控制 的JavaScript。
您需要创建一个充当浏览器的应用程序(通过实现自定义WebView)。然后在该应用程序中,为将获取传感器信息的Web视图创建一个java对象。在服务器输出中,编写测试和访问此对象的javascript。