欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Cordova 3.x 实用插件(2) -- 二维码Barcode

程序员文章站 2022-05-15 11:41:13
...
引用
这个插件采用的是开源版的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后编译执行
Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
<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>

Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 

Android版本的Zxing插件默认是横向扫描的,竖向扫码需要修改插件的代码。这里有改好的,可以试试。com.phonegap.plugins.barcodescanner.rar

<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>

Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 

<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>

Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 

<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>

Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 

<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>

Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 

注意:

a) 没有实现CONTACT_TYPE 和 LOCATION_TYPE的encode。
b) 如果encode出错:
java.lang.NullPointerException
   at com.google.zxing.client.android.encode.EncodeActivity.onCreateOptionsMenu(EncodeActivity.java:89)

下载最新的encode.xml文件,覆盖 platforms\android\res\menu\encode.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>
  • Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
  • 大小: 20.4 KB
  • Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
  • 大小: 97.3 KB
  • Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
  • 大小: 29.3 KB
  • Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
  • 大小: 23.4 KB
  • Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
  • 大小: 23.9 KB
  • Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
  • 大小: 28.2 KB
  • Cordova 3.x 实用插件(2) -- 二维码Barcode
            
    
    博客分类: Cordova CordovaPhoneGap 
  • 大小: 20.8 KB
  • www.rar (1.3 KB)
  • 下载次数: 503
相关标签: Cordova PhoneGap