Android 如何从Chrome内部触发的意图将结果返回到您的网页?

Android 如何从Chrome内部触发的意图将结果返回到您的网页?,android,google-chrome,android-intent,progressive-web-apps,Android,Google Chrome,Android Intent,Progressive Web Apps,所以我很高兴发现chrome mobile可以调用 但是,我能把结果拿回来吗 我有一个输入,供用户输入商品的条形码 如果他们使用chrome mobile,我想调用条形码扫描仪应用程序,并将扫描的条形码接收回输入字段 在谷歌上找不到任何相关信息 即使是一个指向文档或示例的简单链接也会有很大帮助 谢谢。Chrome不会以startActivityForResult启动活动,因此没有简单的方法可以让接收应用程序直接回调到网站或web应用程序中,并像您预期的那样进行响应 虽然有一个解决方案,但它需要本

所以我很高兴发现chrome mobile可以调用

但是,我能把结果拿回来吗

我有一个输入,供用户输入商品的条形码

如果他们使用chrome mobile,我想调用条形码扫描仪应用程序,并将扫描的条形码接收回输入字段

在谷歌上找不到任何相关信息

即使是一个指向文档或示例的简单链接也会有很大帮助


谢谢。

Chrome不会以
startActivityForResult
启动活动,因此没有简单的方法可以让接收应用程序直接回调到网站或web应用程序中,并像您预期的那样进行响应

虽然有一个解决方案,但它需要本机应用程序同意协议

支持使用名为
ret

在Android上,您可以从网页调用条形码扫描仪,并通过回调URL将结果返回到您的站点。例如,扫描01234时,要让用户返回,只需链接到如下URL,{CODE}是返回代码值的占位符:

请注意,ret=参数中的URL是URL转义的,{CODE}用作扫描值的占位符(上面显示为%7BCODE%7D)。可以在此处设置扫描格式和其他参数,以控制扫描行为。例如,is可用于提供以逗号分隔的格式名称列表

您可以在本机应用程序和web应用程序中设置类似的方案,以便在本机应用程序中完成操作并使用名为
ret
的查询字符串参数(或任何您想要的参数)启动时然后,它知道需要使用在Intent中设置的回调URL和在查询字符串中添加的额外数据启动一个新活动,这样,浏览器将打开它所需的所有数据

但它确实存在一些问题:

  • 您无法将窗口作为目标,因此可能会打开一个新窗口,然后您的web应用程序将打开两次
  • 您需要web应用程序和本机应用程序来支持如何返回数据的契约

不能以这种方式使用。更好的解决方案是使用javascript通过回调调用应用程序。等待chrome的发展。