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中,若是你們遇到了就稍微改動一下就行了,你們看了若是有什麼不明白的能夠給我留言
相關文章
相關標籤/搜索