Zxing扫描二维码
来源:互联网 发布:野兽派与roseonly 知乎 编辑:程序博客网 时间:2024/05/02 00:16
1、开源项目地址:https://github.com/zxing/zxing
2、jar包下载地址:http://repo1.maven.org/maven2/com/google/zxing/core/ 可以选择版本号,然后下载。
3、导入demo: 导入android 文件夹即可。
4、网上精简版demo: http://blog.csdn.net/xiaanming/article/details/10163203
http://www.cnblogs.com/dolphin0520/p/3355728.html
效果图:
caution:
手机横竖屏问题
位置:CameraConfigurationManager.initFromCameraParameters
修改代码:if (width < height) {
camera.setDisplayOrientation(90);//添加的代码
int temp = width;
width = height;
height = temp;
}位置:CameraManager.getFramingRectInPreview
修改代码: WindowManager manager = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
if (width<height) {
System.out.println("竖屏");
rect.left = rect.left * cameraResolution.y / screenResolution.x;
rect.right = rect.right * cameraResolution.y / screenResolution.x;
rect.top = rect.top * cameraResolution.x / screenResolution.y;
rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y;
}
if (width>height) {
System.out.println("横屏");
rect.left = rect.left * cameraResolution.x / screenResolution.x;
rect.right = rect.right * cameraResolution.x / screenResolution.x;
rect.top = rect.top * cameraResolution.y / screenResolution.y;
rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y;
}
2.扫描结果对话框
位置:CaptureActivity.handleDecode
修改代码:if (!TextUtils.isEmpty(result)) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(result)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//请求网络,发送数据
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... params) {
AccessToServer accessToServer=new AccessToServer ("http://192.168.254.1:8080/ZxingWeb/sendScancode");
return accessToServer.doPost(new String[]{"content"}, new String[]{result});
}
protected void onPostExecute(String result) {
//System.out.println(result);
};
}.execute();
//页面跳转打开网页
Intent mIntent=new Intent(CaptureActivity.this,WebViewActivity.class);
mIntent.putExtra("url", result);
startActivity(mIntent);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish(); //这个地方非常关键,如果不finish()的话,第二次扫描可能要好长时间,或者扫不出来
}
});
builder.create().show();
/*Intent intent = new Intent();
intent.putExtra("scan_result", rawResult.getText());
setResult(RESULT_OK, intent);*/
} else {
setResult(RESULT_CANCELED);
}
// finish(); //记得要注释掉
3.扫描灵敏度问题
距离二维码多远能扫描出来?
多长时间能扫出来?
转载自:http://my.oschina.net/u/1389206/blog/212709
- ZXing进行二维码扫描
- ZXing二维码扫描
- zxing扫描二维码
- Zxing 近距离扫描二维码
- Zxing扫描二维码
- zxing二维码扫描
- Zxing仿微信二维码扫描
- zxing实现二维码扫描
- zxing 二维码扫描心得
- zxing实现二维码扫描
- 二维码扫描ZXing简化
- zxing二维码扫描功能
- Zxing二维码的扫描
- Zxing二维码扫描生成
- ZXing二维码扫描
- zxing 制作扫描二维码
- ZXing 二维码扫描
- ZXing 二维码扫描
- exec() 方法和match方法
- iOS之轻松上手block(上)
- VS2013 EF6连接MySql需要几步?
- CentOS 6.3下配置LVM(逻辑卷管理)
- alter table move和alter table shrink space的区别
- Zxing扫描二维码
- IOS 网络浅析-(三 NSURLConnection代理)
- java反射之通过反射了解集合泛型的本质
- Android中TextWatcher afterTextChanged无限迭代异常
- mysql5.7版本开始创建用户需要create user
- java-简单的定义二位数组
- Activiti 基础概念 笔记
- IOS 网络浅析 (二 网络异步请求)
- Android横竖屏切换时的生命周期