ZXing这个第三方是我用的第三方,用来扫描二维码的,之前没有看到ZXing还提供了扫描本地图片二维码的功能,现在整理如下。
跳转到选取本地图片的页面
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("iamge/*");
startActivityForResult(intent, 300);
然后选取图片之后来到onActivityResult回调
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 100) {
//获取照片数据
Bitmap camera = data.getParcelableExtra("data");
iv1.setImageBitmap(camera);
}
if (requestCode == 200) {
if (data != null) {
try {
Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(data.getData()));
iv1.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
if (requestCode == 300) {
String photoPath = getRealFilePath(this, data.getData());
if (photoPath == null) {
LogUtil.fussenLog().d("路径获取失败");
} else {
//解析图片
prasePhoto(photoPath);
}
}
}