引包
compile 'com.journeyapps:zxing-android-embedded:3.5.0'
基本使用
public void scan(View view) {
new IntentIntegrator(this)
.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES)
.setPrompt("扫描二维码抽大奖哦")
.setCameraId(0)
.setBeepEnabled(false)
.setBarcodeImageEnabled(true)
.initiateScan();
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Log.d("meee",getClass()+":\n"+"取消扫描:");
} else {
Log.d("meee",getClass()+":\n"+"test:"+result.getContents());
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
竖屏扫描
在没有自定义的情况下,调用扫描是调用的默认的Activity开进行扫描,是横屏的.
我们需要竖屏的该怎么办呢
public class VerticalActivitity extends CaptureActivity {
}
<activity android:name=".VerticalActivitity" android:screenOrientation="portrait"/>
public void scan(View view) {
new IntentIntegrator(this)
.setCaptureActivity(VerticalActivitity.class)
.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES)
.setPrompt("扫描二维码抽大奖哦")
.setCameraId(0)
.setBeepEnabled(false)
.setBarcodeImageEnabled(true)
.initiateScan();
}