我使用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);
}
);
},
});
此致 Firoz。
答案 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来试试。所以我不知道,如果真的有效。