原文出处: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中,如果大家遇到了就稍微改动一下就好了,大家看了如果有什么不
明白的可以给我留言