sap.ndc.BarcodeScannerButton:用于启动条码扫描过程的按钮控件(显示条码图标)。 如果本机扫描功能不可用或未授予相机功能,则该按钮要么被隐藏,要么通过打开带有输入字段的对话框来提供后备,可以在其中手动输入条形码。BarcodeScanner 被加载之后,执行 init 方法:

 //  * Feature vector (sap.Settings.isFeatureEnabled) is available//  * Barcode scanner is enabled by the Feature Vector//  * Barcode scanner Cordova plug-in (cordova.plugins.barcodeScanner) or zxing-js (ZXing.BrowserMultiFormatReader) is available

available 属性默认为 true:

native device capabilities should be by default enabled if there is no feature vector available to restrict the capability.

浏览器里检测不到 cordova API:

然后尝试获取 ZXingAPI. 这是一个异步过程。

oZXingScannerAPI 可用。

点击 barcode 按钮之后,执行下图第 129 行代码的 scan 方法。

如果条码扫描功能不可用,则启动条码扫描过程,显示来自摄像头的实时输入或显示对话框以直接输入值。

条码扫描是异步完成的。 当它被触发时,该函数返回而不等待扫描过程完成。 应用程序必须提供回调函数来对成功扫描、扫描期间的错误以及对话框上的实时输入事件做出反应。

fnSuccess 传递了一个具有文本、格式和取消属性的对象。 text 是条码数据的文本表示,format 是检测到的条码类型,cancel 是用户是否取消扫描。 fnError 给出了错误,fnLiveUpdate 被传递了在对话框的输入字段中输入的新值。

只有当 CordovaScannerAPI 可用时,才进入 584 行下面的分支:

否则进入 618 行,弹出对话框。

SAP Fiori Client 是 SAP Fiori 应用程序的原生移动应用程序运行时容器。 SAP Fiori Client 允许用户以在线模式访问其 SAP Fiori 应用程序。后续我会介绍如何在 Fiori client 里解决这个 cordova 插件不可用的问题。

SAP UI5 BarcodeScannerButton 的初始化逻辑 - feature 检测,Cordova API 检测等逻辑相关推荐

  1. SAP UI5 router的初始化逻辑

    Sent: Wednesday, March 4, 2015 12:07 PM Subject: RE: ­Fiori 我debug发现那个需要的router初始化的代码没有得到执行,就是最后一张图黄 ...

  2. 部署SAP UI5应用到ABAP服务器时,Webcontent path的determine逻辑

    Created by Jerry Wang on Aug 10, 2015 看standard application,读取eclipse配置文件也失败,因此使用default web content ...

  3. 如何在 SAP UI5 应用里显示 PDF 文件试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年12月23日为止,目前已经更新了 155 篇,专栏完成度为 51.6%,完成度已经超过了一半了. ...

  4. 使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年11月19日为止,目前已经更新了 149 篇,专栏完成度为 49.6%. 作者简介 Jerry ...

  5. SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2023年4月29日为止,目前已经更新了 183 篇,专栏完成度为 61%,完成度已经超过了一半了. 本套 ...

  6. SAP UI5 SimpleForm 里在水平方向显示多组 Form 元素的实现方法试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年9月22日为止,目前已经更新了 133 篇,专栏完成度为 44.3%. 作者简介 Jerry W ...

  7. SAP UI5 初学者教程之四:XML 视图初探试读版

    Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和"汪子熙"微信公众号上发表过多篇关于 SAP U ...

  8. SAP UI5 应用开发教程之四:XML 视图初探

    本教程的前三个步骤,我们要么直接在 index.html 里,利用原生的标签 div 显示文本,要么创建 SAP UI5 Text 控件实例,再将其放置于 HTML 占位符 div 标签里. 从本步骤 ...

  9. SAP UI5 Simple Form 属性 columnsL,columnsM,columnsXL 的属性深入剖析试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年9月22日为止,目前已经更新了 133 篇,专栏完成度为 44.3%. 作者简介 Jerry W ...

最新文章

  1. mac mysql 可视化工具_推荐3款好用的Redis、MySQL和MongoDB可视化管理工具
  2. 安卓toast文字提示
  3. C++ main函数命令行参数使用
  4. Makefile选项CFLAGS,LDFLAGS,LIBS
  5. linux 磁盘科隆,上海第二工业大学嵌入式操作系统B复习(无答案版)
  6. 从零开始学视觉Transformer(4):ViT模型全流程解析
  7. 字符集_超详细的MySQL数据库字符集总结,值得收藏
  8. Python 分析Nginx 日志并存入MySQL数据库(单线程)
  9. mysql 存储过程游标 循环输出select 查询结果
  10. 嵌入式软件测试怎么实现自动化测试?
  11. 利用Linux查找重复文件(shell脚本)
  12. c4d快速启动语言对话框脚本错误,如何解决“当前页面脚本发生错误”的问题
  13. 当RPM包安装遇上“依赖性”问题时的解决办法
  14. 计算机中丢失rtutil,api-ms-win-core-winrt-string-l1-1-0.dll从您的计算机中丢失
  15. SpringCLoud+redis+es高并发项目《四》
  16. PHP高级计算器的过程,PHP基于堆栈实现的高级计算器功能示例
  17. 分享--操作系统学习
  18. ora.eons offline
  19. 【洛谷】P1067 多项式输出【模拟】
  20. (无导师学习神经网络)竞争神经网络、SOFM神经网络

热门文章

  1. python函数参数为类对象_将Cython类对象作为参数传递给C函数
  2. php data类型转换,【原】超简单类型转换(DataTable
  3. find命令---Linux学习笔记
  4. 人民币对美元汇率中间价报6.7665元 下调73个基点
  5. 【Android开发坑系列】之事件
  6. ThinkPHP3.2 volist嵌套循环显示原理
  7. Hadoop实战-中高级部分 之 Hadoop 集群安装
  8. silverlight 学习笔记 (五): MVVM Light Toolkits 之 RealCommand
  9. 九月计划 附:《使用 Microsoft .NET 的企业解决方案模式》
  10. 整理 | 程序员必读书单1.0