美文网首页
cordova-Barcode插件

cordova-Barcode插件

作者: 三亿 | 来源:发表于2023-03-05 14:14 被阅读0次

这个插件采用的是开源版的 zxing,如果性能、识别率不满足需求的话,建议使用 Scandit,它提供了 Community SDK,并且支持 Platforms(iOS/Android)、Frameworks(Titanium/Xamarin/Phonegap/Worklight)。其中 Community 版的支持 UPC-A / UPC-E、EAN8 / EAN13、QR Code。

插件地址:https://github.com/wildabeast/BarcodeScanner

(1)创建工程

cordova create HelloBarcode com.rensanning.cordova HelloBarcode 
cd HelloBarcode 
cordova platform add android

(2)安装 plugin

cordova plugin add https://github.com/wildabeast/BarcodeScanner.git

(3)修改 index.html 后编译执行


image.png

Html 代码

<a href="#" class="btn" onclick="scanCode();">Scan Code</a>
<script type="text/javascript">
function scanCode() {
    cordova.plugins.barcodeScanner.scan(
      function (result) {
          alert("We got a barcode\n" +
                "Result: " + result.text + "\n" +
                "Format: " + result.format + "\n" +
                "Cancelled: " + result.cancelled);
      }, 
      function (error) {
          alert("Scanning failed: " + error);
      }
   );
}
</script>
image.png image.png

Html 代码

<a href="#" class="btn enc" onclick="encodeText();">Encode Text</a>
<script type="text/javascript">
function encodeText() {
    cordova.plugins.barcodeScanner.encode(
      "TEXT_TYPE", 
      "http://www.baidu.com", 
      function(success) {
        alert("encode success: " + success);
      }, function(fail) {
        alert("encoding failed: " + fail);
      }
    );
}
</script>

Html 代码

<a href="#" class="btn enc" onclick="encodeEmail();">Encode Email</a>
<script type="text/javascript">
function encodeEmail() {
    cordova.plugins.barcodeScanner.encode(
      "EMAIL_TYPE", 
      "rensanning@gmail.com", 
      function(success) {
        alert("encode success: " + success);
      }, function(fail) {
        alert("encoding failed: " + fail);
      }
    );
}
</script>

Html 代码

<a href="#" class="btn enc" onclick="encodePhone();">Encode Phone</a>
<script type="text/javascript">
function encodePhone() {
    cordova.plugins.barcodeScanner.encode(
      "PHONE_TYPE", 
      "135-1234-5678", 
      function(success) {
        alert("encode success: " + success);
      }, function(fail) {
        alert("encoding failed: " + fail);
      }
    );
}
</script>

Html 代码

<a href="#" class="btn enc" onclick="encodeSMS();">Encode SMS</a>
<script type="text/javascript">
function encodeSMS() {
    cordova.plugins.barcodeScanner.encode(
      "SMS_TYPE", 
      "An important message for someone.", 
      function(success) {
        alert("encode success: " + success);
      }, function(fail) {
        alert("encoding failed: " + fail);
      }
    );
}
</script>

注意:

a) 没有实现 CONTACT_TYPE 和 LOCATION_TYPE 的 encode。
b) 如果 encode 出错:

Java 代码

java.lang.NullPointerException
   at com.google.zxing.client.android.encode.EncodeActivity.onCreateOptionsMenu(EncodeActivity.java:89)

下载最新的 encode.xml(百度搜索)文件,覆盖 platforms\android\res\menu\encode.xml

Xml 代码

<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/menu_share"
        android:title="@string/menu_share"
        android:icon="@android:drawable/ic_menu_share"
        android:orderInCategory="1"
        android:showAsAction="withText|ifRoom"/>
  <item android:id="@+id/menu_encode"
        android:title="@string/menu_encode_vcard"
        android:icon="@android:drawable/ic_menu_sort_alphabetically"
        android:orderInCategory="2"
        android:showAsAction="withText|ifRoom"/>
</menu>

相关文章

  • React配置过程中用到的插件汇总

    ●react插件●react-dom插件●react-router插件●react-redux插件●babel插件...

  • iOS项目实战02

    修改插件:查找插件 -> 插件路径(不能记) -> Xcode插件开发 -> 查看插件代码 -> 搜索instal...

  • 5.文档 - gitbook - 插件

    参考 官方插件 重点参考 GitBook 插件 常用插件 配置插件 到 官方插件 上找合适的插件 在配置文件中安装...

  • FCPX系列的插件怎么安装导入?Final cut pro x插

    fcpx插件怎么安装? Fcpx插件怎么解压安装?fcpx插件怎么卸载?fcpx插件怎么添加?fcpx lut插件...

  • Cordova 插件更新

    查看项目插件列表 移除插件 添加插件

  • IDEA破解

    配置插件 配置仓库 下载插件 使用插件

  • Cordova 本地插件

    1 安装插件环境 2 创建插件 例子 添加配置 进入插件文件夹下初始化插件 插件使用

  • Webpack入门之plugins篇

    入门篇主要先学学插件的使用,不涉及自定义插件。 首先 插件分为:内置插件和外部插件。 内置插件例如BannerPl...

  • Gradle中插件的使用

    目录 插件的类型 插件的类型分为:1.脚本插件2.二进制插件 插件的使用 1.脚本插件的使用 脚本插件的使用方法如...

  • 更多关于CocoaScript

    目录 入门插件基础您的第一个插件开发环境调试Action API发布插件 高级插件捆绑插件,脚本和命令插件位置更多...

网友评论

      本文标题:cordova-Barcode插件

      本文链接:https://www.haomeiwen.com/subject/bkwrldtx.html