phonegap二维码扫描插件

原文出处:http://rensanning.iteye.com/blog/2034026javascript

谈谈我使用这个的体会吧;java

git地址 https://github.com/wildabeast/BarcodeScanner.gitandroid

我试过按照他的方法直接安装git,后来发觉有写文件不对应老是报错,因而我采用最原始的方法,git

1.访问插件地址https://github.com/wildabeast/BarcodeScanner,直接下载到本地 经过“cordova plugin add 插件本地地址”github

2. 打开文件目录 platforms\android\res\menu\encode.xml 替换成以下代码spa

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

3.扫码调用插件

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

4.纯文本设计

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

5.Email地址code

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

6.电话号码orm

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

7.短信地址

<a href="#" class="btn enc" onclick="encodeSMS();">Encode SMS</a>  
<script type="text/javascript">  
function encodeSMS() {  
    cordova.plugins.barcodeScanner.encode(  
      "SMS_TYPE",   
      "An imeone.",   
      function(success) {  
        alert("encode success: " + success);  
      }, function(fail) {  
        alert("encoding failed: " + fail);  
      }  
    );  
}  
</script>
安装完了AndroidManifest.xml会出现一个错误,只须要把设计错误的稍微改一下就ok;
说完了我说说我走过的坑吧,但愿你们能绕过,
最开始我导入插件的时候,发觉zxing的部分找不到,因而我在网上查了一下zxing的功能,就下载了一个别人写好的,我运行了一下,能够运行,可是有个问题 sdk6.0就会报错
并且发觉一个问题,phonegap相机插件最新版本必需要6.0因此,我当时就陷入了两难的境地,最后我试着将项目还原到5.0,最后成功了,可是插件调用的时候少了几个参数,又要报错,纠结了一上午,
下午忽然就想到了刚才我将的那个步骤,就去尝试了一下,打包完了是没报错了,可是编译的时候又报错,缘由就是AndroidManifest.xml中,若是你们遇到了就稍微改动一下就行了,你们看了若是有什么不明白的能够给我留言
相关文章
相关标签/搜索