此篇文章为二维码接入,处理方式很粗暴,好多的细节没有考虑清楚,为了现阶段作为样品写入,不需要细节,因此记录一下,以防忘记
首先放入依赖
compile ‘com.acker:simplezxing:1.5’
这个类CaptureActivity是我们主要使用的类,它可以让我们实现扫描二维码的功能,我的实验手机是android 版本较低的,因此在清单文件里进行相机权限申请就足够,如果是android 较高的版本,就需要在进行权限申请,这是申请代码,在相片处理上,用原来的裁剪可能出现问题,因此因为android4以上相册的url就是封装过的,需要进行处理,现在有点事儿,要原谅我,所以现在就先不写,我会在后来的博客上进行阐述
public void openCamraYes(int y) {
if (Build.VERSION.SDK_INT >= 23) {
int checkCallPhonePermission = ContextCompat.checkSelfPermission(OnTheSpotAccreditationFrontActivity.this, Manifest.permission.CAMERA);
if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(OnTheSpotAccreditationFrontActivity.this, new String[]{Manifest.permission.CAMERA}, 222);
return;
} else {
openCamra(y);//调用具体方法
}
} else {
openCamra(y);//调用具体方法
}
}
这是调用扫描功能的代码,相当简单
public static final int REQUEST_CODE = 111;
Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
startActivityForResult(intent,REQUEST_CODE);
startActivityForResult,看到这个是不是就清楚里,没错,我们是在onActivityResult里边进行扫描结果处理的,
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (data != null){
startActivity(new Intent(MainActivity.this, QrCodeActivity.class));
}else {
return;
}
}
}
在这里我仅仅只是进行了跳转界面,因为现在还没正式的二维码需求,所有只需要做一个展示,需要正式的话,就在上述代码里进行处理扫描结果!