首页 > 解决方案 > 在没有 Fiori 客户端的浏览器中使用 sap.ndc.BarcodeScanner

问题描述

我在我的应用程序中取消了 sap.ndc.BarcodeScanner。
在我看来,我有:

<Button icon="sap-icon://bar-code" press="scanBarcode"/>
<Label id="label" text="Null"/>

扫描条码看起来像这样:

scanBarcode: function(oEvent) {
    sap.ndc.BarcodeScanner.scan(
        var that = this;
        function (mResult) {
             if (!mResult.cancelled) {
                 var code = mResult.text;
                 that.byId("label").setText(code);
             }
        },
        function (Error) {
            if (Error !== undefined) {
                MessageBox.error(Error.message);
            }
        }
    );
}

我的问题是我不想使用 Fiori 客户端访问应用程序。
因此,应该可以使用设备的摄像头在浏览器中使用条形码扫描仪。

有可能这样做吗?

谢谢您的帮助!

标签: sapui5

解决方案


不可以。无法在浏览器中使用条形码扫描仪。

sap.ndc.BarcodeScanner 在命名空间 sap.ndc 下声明。这里的“ndc”代表本机设备功能。这些 API 将使用 cordova 插件来调用本机设备功能,例如相机。sap.ndc.BarcodeScanner 将检查 cordova 插件的可用性。如果应用程序是通过浏览器打开的,则 BarcodeScanner 将简单地打开一个对话框并要求最终用户手动输入条形码。如果应用程序是通过 cordova 应用程序或 SAP Fiori Client(构建在 cordova 之上)打开的,那么它将调用设备摄像头。


推荐阅读