本教程之前的这几篇文章,算是围绕着 SAP UI5 和 Cordova 的一个小系列:
- SAP UI5 应用开发教程之四十八 - 如何在 SAP UI5 应用里开发条形码扫描功能 - 通过这篇文章介绍的步骤开发而成的 SAP UI5 应用,只能在桌面浏览器里正常运行,在用户授权的情况下,打开笔记本电脑的摄像头。
- SAP UI5 应用开发教程之四十九 - 如何在桌面电脑端调试运行在手机上的 SAP UI5 应用
- SAP UI5 应用开发教程之五十 - 如何使用 Cordova 将 SAP UI5 应用生成一个能在 Android 手机上安装的混合应用
- SAP UI5 应用开发教程之五十一 - 如何使用 Chrome 调试运行在手机上的 SAP UI5 Cordova 混合应用 - 如果一个 SAP UI5 应用使用了
sap.ndc.BarcodeScanner
,并且通过Cordova
构建打包,生成 apk 文件安装到安卓手机上。在手机上运行时,点击Scan
按钮,仍然不能弹出我们期望看到的手机摄像头扫描界面。通过调试发现,这是由于sap.ndc.BarcodeScanner
的内部实现里,首先会去检测cordova.plugins.barcodeScanner
是否可用。当且仅当我们在将 SAP UI5 应用打包成 Cordova 应用时,显式添加 `` 这个 Cordova plugin 到项目时,cordova.plugins.barcodeScanner
才会被赋予正确的值。
本文余下部分介绍如何在一个 Cordova 应用中启用 cordova-plugin-barcodescanner
.
实现的效果如下:
选择仅在使用该应用时允许
即可。
我们在允许该请求之前,HelloCordova 应用在手机 设置
面板里,在权限
里显示的是无需权限
:
允许 Cordova 应用请求摄像头的申请后,权限
面板显示如下:
现在就能使用手机摄像头,扫描条形码了:
扫描成功的界面如下图所示:
详细步骤参考这篇文章。