二维码扫描
这里是在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();
在二维码界面重写两个声明周期:
@Override
public void onPause() {
super.onPause();
scanner_view.onPause();
}
@Override
public void onResume() {
super.onResume();
scanner_view.onResume();
}
这样,就能在点击事件的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();
还需要设置一个图片控件来展示生成的二维码
- img.setImageBitmap(bitmap);