FIORI客户端上的SAPUI5条形码扫描器应用程序 - 相机打开但扫描不提供结果

时间:2017-02-01 13:50:24

标签: sapui5 barcode barcode-scanner sap-fiori

我使用cordova插件为条形码扫描程序创建了一个SAPUI5应用程序。 当我在FIORI Launchpad上部署它并尝试运行该应用程序时。然后相机打开以读取条形码,但它不会提供扫描代码的结果。 有什么帮助吗? 以下是屏幕截图和关于Eclipse的我的项目代码。 Project Structure

的index.html

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>
    <script src="resources/sap-ui-core.js"
            id="sap-ui-bootstrap"
            data-sap-ui-libs="sap.m"
            data-sap-ui-theme="sap_bluecrystal">
    </script>

    <script>
            sap.ui.localResources("barcodenew");
            var app = new sap.m.App({initialPage:"idMain1"});
            var page = sap.ui.view({id:"idMain1", 
                                    viewName:"barcodenew.Main",
                                    type:sap.ui.core.mvc.ViewType.XML});   
            app.addPage(page);
            app.placeAt("content");
    </script>
    <script type="text/javascript" src="cordova.js"> </script>
</head>
<body class="sapUiBody" role="application">
    <div id="content"></div>
</body>
</html>

view.xml用

<core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m" controllerName="barcodenew.Main"
xmlns:html="http://www.w3.org/1999/xhtml">
<Page title="ISPC Asset BarCode">
    <content>
        <Label text="BarCode" class="sapUiSmallMargin" />
        <Input id="BCID" width="150px" value="12345"/>
        <Button id="BC" text="" 
                icon="sap-icon://camera" 
                press="handleCamera" type="Accept" />

    </content>
</Page>
</core:View> 

Controller.js

sap.ui.controller("barcodenew.Main", {

handleCamera: function(evt){
    var bc = this.getView().byId("BCID");

    cordova.plugins.barcodeScanner.scan(
            function(result){
                bc.setValue(result.text);                   
            },
            function(error){
                alert("Sorry, Camera Error!!"+error);
            }

        );
},
}); 

Camera

此致 Firoz。

1 个答案:

答案 0 :(得分:0)

Fiori Launchpad inside the Fiori Client - use cordova/Kapsel plugins中,他们提到

“在cordova之前添加windows.parent以达到启动盘级别。” 也许

window.parent.cordova.plugins.barcodeScanner.scan

而不是

cordova.plugins.barcodeScanner.scan

可以帮到你。 我没有FLP来试试。所以我不知道,如果真的有效。