如何在 Android 上运行的 Web 应用程序中从 CamScanner 或 Office Lens 获取文件?
Posted
技术标签:
【中文标题】如何在 Android 上运行的 Web 应用程序中从 CamScanner 或 Office Lens 获取文件?【英文标题】:How can I get a file from CamScanner or Office Lens in a web app running on Android? 【发布时间】:2015-09-11 03:06:21 【问题描述】:我有一个 Angular 网络应用程序,可以通过 android 上的 Chrome 访问。我可以使用:
<input type='file' accept='image/*' capture>
(或具有 ng-file-upload 的类似 accept
属性)直接从相机应用程序将图像上传到服务器。很酷。但我希望用户能够选择,例如,CamScanner
或 Office Lens,而不是相机应用,这样他们就可以在上传之前格式化文档。
我玩过accept
属性,但似乎无法让这些应用程序显示在 Android 的“使用完成操作”应用程序列表中。
想法?
【问题讨论】:
我认为唯一的方法是在 android 应用程序下使用 javascript 接口,只有在那里你可以做任何你想做的事...... 有一个名为 CameraPreview github.com/mbppower/CordovaCameraPreview 的 Cordova 插件,它允许您在不打开实际 cameraapp 的情况下将相机预览导入您的应用程序。在自述文件中,您可以看到生成的图像几乎可以做任何事情 【参考方案1】:目前,没有办法做到这一点,除非你正在开发一个独立的 APP。
元素<input type="file"/>
的浏览器行为仅依赖于处理照片和视频的默认APP。
【讨论】:
【参考方案2】:你看过这个吗?
https://developer.chrome.com/multidevice/android/intents
链接中的相关示例:
这是启动 Zxing 条码扫描器应用的意图。它遵循以下语法:
intent:
//scan/
#Intent;
package=com.google.zxing.client.android;
scheme=zxing;
end;
要启动 Zxing 条码扫描器应用程序,您在锚点上对 href 进行如下编码:
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"> Take a QR code </a>
所以对于camscanner,包是
com.intsig.camscanner
所以在上面的例子中使用它而不是 com.google.zxing.client.android。
【讨论】:
这看起来是朝着正确方向迈出的一步,但我看不到将应用程序的输出(扫描的图像)上传到服务器的方法。我错过了什么吗?以上是关于如何在 Android 上运行的 Web 应用程序中从 CamScanner 或 Office Lens 获取文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 React Native 中实现 Google 地图以在 Web、Android 和 iOS 上运行?
如何从 IDE 在移动 chrome 上运行 Flutter Web
如何使用 Javascript/PHP 从 Web 应用程序打开移动应用程序(Android 或 iOS)
“你需要合适的加载器”,使用 react native 和 expo。应用程序无法在 web 上编译,但在 android 上运行