二维码扫描
这里是在Zxing的基础上写的代码,首先,需要在工程中添加依赖
-
compile 'com.mylhyl:zxingscanner:1.6.0'
-
<uses-permission android:name="android.permission.CAMERA" />
//进行布局
-
<Button
-
android:id="@+id/button"
-
android:text="扫一扫"
-
android:layout_centerInParent="true"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content" />
然后就是扫描二维码的界面
-
<com.mylhyl.zxing.scanner.ScannerView
-
android:id="@+id/scanner_view"
-
android:layout_width="match_parent"
-
android:layout_height="match_parent" />
在点击事件中设置跳转便含有请求码
-
startActivityForResult(new Intent(SaoActivity.this,MainActivity.class),100);
再在二维码界面中找到控件,给控件设置一个监听器setOnScannerCompletionListener
再将扫描到的结果以字符串的形式回传到刚才的activity,并finish掉当前页面
-
setResult(200,new Intent().putExtra("data",rawResult.getText()));
-
finish();
这样,就能在点击事件的activity中操作返回的结果了
-
@Override
-
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-
super.onActivityResult(requestCode, resultCode, data);
-
if (requestCode==100&&resultCode==200){
-
String result = data.getStringExtra("data");
-
Toast.makeText(this, result, Toast.LENGTH_SHORT).show();
-
}
-
}
生成二维码
-
<uses-permission android:name="android.permission.CAMERA" />
-
-
compile 'com.mylhyl:zxingscanner:1.6.0'
然后就是你想要生成的二维码的内容
-
-
Bitmap bitmap = new QREncode.Builder(SaoActivity.this)
-
.setColor(getResources().getColor(R.color.colorPrimary))
-
-
.setContents(“这里是内容”)
-
.build().encodeAsBitmap();
还需要设置一个图片控件来展示生成的二维码