`
rensanning
  • 浏览: 3552506 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38217
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607584
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682772
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89521
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:402110
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69759
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91832
社区版块
存档分类
最新评论

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

阅读更多
引用
这个插件采用的是开源版的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后编译执行

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




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>



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



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



<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.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>
  • 大小: 20.4 KB
  • 大小: 97.3 KB
  • 大小: 29.3 KB
  • 大小: 23.4 KB
  • 大小: 23.9 KB
  • 大小: 28.2 KB
  • 大小: 20.8 KB
  • www.rar (1.3 KB)
  • 下载次数: 503
分享到:
评论
10 楼 abcqianzhongshu 2017-06-07  
还是横屏
9 楼 jyxzfw 2016-11-29  
你好,扫出来中文乱码怎么解决?
8 楼 fr_lsl 2015-08-28  
请问encode方法支持iOS平台吗
7 楼 dibov 2015-07-04  
还是横屏。。。
6 楼 yaweja 2015-05-16  
还是横屏的啊
5 楼 dotnetcrow 2015-05-16  
谢谢分享,非常好。感觉这个扫描框太小,有没有办法搞大些啊?
4 楼 calosteward 2015-05-12  
赞一个。
谢谢分享了~非常有用。
——————————————————————
java barcode creator
3 楼 ywg11180 2015-01-07  
好文   实用
2 楼 rensanning 2014-04-14  
@Xinerd
查看EncodeActivity.java文件89行,NPE的原因应该是encodeItem为null,也就是id为menu_encode的元素没有在platforms\android\res\menu\encode.xml中定义。把Plugin的代码和zxing的官方代码比较一下就知道了。
1 楼 Xinerd 2014-04-12  
java.lang.NullPointerException  
   at com.google.zxing.client.android.encode.EncodeActivity.onCreateOptionsMenu(EncodeActivity.java:89)  


请问这个错你怎么排查的啊?

相关推荐

    cordova扫码插件phonegap-plugin-barcodescanner,修复了在ios10上面的内存泄漏导致的闪退bug

    在这个场景中,我们关注的是一个名为`phonegap-plugin-barcodescanner`的插件,这是一个专门为PhoneGap/Cordova设计的扫码功能插件。 这个插件的主要作用是在iOS和Android等平台上实现条形码和二维码的扫描功能。...

    cordova二维码扫描插件

    解压后,开发者需要按照Cordova插件的安装步骤,将插件添加到项目中。在Cordova项目中,这通常涉及到使用`cordova plugin add`命令,指向插件的本地路径或远程Git仓库。 在项目中集成插件后,开发者可以在...

    ionic3-cordova-barcode-qrcode-scanner-master_ionic3_phone_

    标题 "ionic3-cordova-barcode-qrcode-scanner-master_ionic3_phone_" 提示我们这个项目是基于 Ionic 3 框架,用于开发能够在移动设备上原生运行的应用程序,特别是与条形码和二维码扫描相关的功能。描述 "ionic 3 ...

    cordova barcodescanner 仿微信样式并支持从相册选取

    1. 首先通过cordova 命令安装二维码扫描插件 cordova plugin add https://github.com/phonegap/phonegap-plugin-barcodescanner.git 2. 安装完插件后将二维码的lib包替换为zxing.lib,jar包在我上传的demo里面有。 3....

    cordova-plugin-barcodescanner:更新了扫描仪代码

    条形码扫描器 描述 适用于Cordova / PhoneGap的跨平台Barcode...插件使用scan(success, fail)方法创建对象cordova/plugin/BarcodeScanner 。 当前支持以下条形码类型: 安卓 二维码 DATA_MATRIX UPC_E UPC_A EAN_8

    phonegap-iphone条码二维码扫描插件

    本知识点主要聚焦于PhoneGap在iPhone上实现条码和二维码扫描功能的插件——BarcodeScanner。 一、PhoneGap与 BarcodeScanner 插件 PhoneGap的精髓在于它提供了一个桥梁,让Web开发者可以使用已有的前端技术创建出...

    hls-plugin-barcode:二维码识别插件

    cordova-plugin-barcode 二维码扫描Cordova插件 This plugin implements barcode scanner on Cordova 4.0 Supported Cordova Platforms Android 4.0.0 or above iOS 7.0.0 or above Usage cordova plugin add JS ...

    honeywell_scanner_plugin:Cordova Honeywell 条码扫描器插件

    Cordova Honeywell 条码扫描器插件适用于 Cordova / PhoneGap 的 Honeywell Dolphin 70E 条码扫描器插件。支持的平台安卓如何使用安装 cordova plugin add org.pluginporo.honeywell_scanner_plugin扫描 navigator....

    基于cordova扫码插件封装 ios支持二维码扫描动态

    有许多现成的Cordova插件可用于二维码扫描,如`phonegap-plugin-barcodescanner`。使用以下命令安装: ``` cordova plugin add phonegap-plugin-barcodescanner ``` 5. **实现动画扫描线** 描述中的"扫描线...

    Vue集成Cordova的Navtive功能:获取地理位置,手机振动,调取手机图片,扫描二维码等

    至于扫描二维码,我们可以使用`cordova-plugin-barcode-scanner`插件,安装命令是`cordova plugin add cordova-plugin-barcode-scanner`。在Vue组件中,使用`cordova.plugins.barcodeScanner.scan`方法来启动扫描器...

    扫描二维码界面的cordova 扫码插件(BarcodeScan)的jar文件

    修改cordova的BarcodeScan插件的扫码界面,替换掉插件引入的第三方库libs文件夹下的com.google.zxing.client.android.captureactivity.jar文件的zxing_4.1.8.jar文件,达到美化扫码界面目的。

    WeX5简明教程-插件应用.docx

    在WeX5中,引用并使用Cordova插件的步骤如下: 1. 在需要使用插件的页面JavaScript中,首先引入`$UI/system/lib/cordova/cordova.js`,确保每个使用插件的页面都包含这个引用。 2. 接着,使用`require`方法加载特定...

    自定义的扫描二维码界面的cordova 扫码插件(BarcodeScan)的jar文件

    修改cordova的BarcodeScan插件的扫码界面,替换掉插件引入的第三方库libs文件夹下的com.google.zxing.client.android.captureactivity.jar文件的zxing_4.1.8.jar文件,达到美化扫码界面目的。

    android_cordova(node4.4.7全插件)

    16. **BarCodeScanner插件**:扫描条形码和二维码,广泛应用于商品识别、数据输入等场景。 17. **Push Notification插件**:实现推送通知功能,让应用可以在后台接收服务器消息。 18. **Dialogs插件**:提供系统...

    ionic开发及扫描二维码开发过程

    在Ionic应用开发过程中,集成 BarcodeScanner 插件来实现二维码扫描功能是非常常见的需求。以下将详细介绍该插件的安装与配置流程。 ##### 1. 配置phoneGap 首先确保您的开发环境中已安装 Node.js 和 npm (Node ...

    cordova框架以及插件

    例如,Camera 插件允许用户从设备的相册或相机拍摄照片,Geolocation 插件可以获取设备的当前位置,而 BarcodeScanner 插件则能读取条形码和二维码。 标签 "phoneGap" 值得一提,因为 PhoneGap 是 Adobe 推出的一个...

    swift-调用原生摄像头扫一扫功能cordova插件

    在本案例中,我们将讨论如何使用一个名为“cordova-plugin-scan”的Cordova插件来调用原生摄像头实现扫一扫功能。 首先,我们需要了解Cordova的工作原理。Cordova将Web应用程序包装在一个原生的壳中,使得Web应用...

Global site tag (gtag.js) - Google Analytics