首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从今天的web应用程序访问智能手机传感器/通讯录?

从今天的web应用程序访问智能手机传感器/通讯录?
EN

Stack Overflow用户
提问于 2011-05-22 17:14:02
回答 2查看 1.5K关注 0票数 2

我想让运行在国外服务器上的web应用程序访问智能手机、传感器和地址簿数据。W3C正在为此制定一个规范,称为设备API。然而,它还没有完成,在浏览器供应商提供工作实现之前可能需要相当长的时间。

但是我现在需要这个功能(作为概念的证明)。我不在乎可移植性,Android就足够了。要求用户先安装特殊软件也可以。

我想到了两种解决办法:

  • 自己将API黑客到浏览器中。也许我可以拿着Phonegap轻松地用它编写一个浏览器包装器?也就是说,使用Phonegap构建一个浏览器,该浏览器将Phonegap公开给任意站点(暂时不关心安全性)?
  • 编写服务器并在智能手机本地主机上运行。该服务器将通过HTTPS和OAUTH2提供对资源的访问(例如)。然后,Web应用程序可以在它们的代码中引用这个本地主机服务器(黑客攻击..。是否存在阻止任意站点访问本地主机上运行的服务器的安全机制?)。

欢迎提出建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-22 17:27:17

使用WebView:

http://developer.android.com/reference/android/webkit/WebView.html

这个类是您可以滚动自己的web浏览器的基础。

WebView有几个定制点,您可以在其中添加自己的行为。它们是:

将JavaScript接口添加到addJavascriptInterface(Object,String)方法中。这使您可以将Java对象绑定到WebView中,以便可以从web页面JavaScript控制它们。

您需要创建一个充当浏览器的应用程序(通过实现自定义的WebView)。然后,在该应用程序中,为web视图创建一个java对象,该对象将获取传感器信息。在服务器输出中,编写测试和访问该对象的javascript。

票数 1
EN

Stack Overflow用户

发布于 2011-05-22 17:21:28

对于android,我相信您可以通过在自己的轻量级“浏览器”应用程序中包装一个webview,或者为提供的浏览器构建一个插件,将定制的本地功能公开给javascript。正如在这个问题中指出的,How to develop plugins for the native Android browser示例中有一个示例。

但是,如果你允许一个网站访问我设备的联系人,并且可能拒绝在我的设备上安装你的应用程序,我会感到非常不高兴。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6089490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档