原文出處:http://rensanning.iteye.com/blog/2034026
談談我使用這個的體會吧;
git地址 https://github.com/wildabeast/BarcodeScanner.git
我試過按照他的方法直接安裝git,后來發覺有寫文件不對應總是報錯,於是我采用最原始的方法,
1.訪問插件地址https://github.com/wildabeast/BarcodeScanner,直接下載到本地 通過“cordova plugin add 插件本地地址”
2. 打開文件目錄 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>
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地址
<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.電話號碼
<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中,如果大家遇到了就稍微改動一下就好了,大家看了如果有什么不
明白的可以給我留言