二维码扫描
这里是在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))//二维码颜色
- //.setParsedResultType(ParsedResultType.TEXT)//默认是TEXT类型
- .setContents(“这里是内容”)//二维码内容
- .build().encodeAsBitmap();
还需要设置一个图片控件来展示生成的二维码
- img.setImageBitmap(bitmap);