- 转载至https://github.com/yipianfengye/android-zxingLibrary#readme
-
在module的build.gradle中执行compile操作
-
compile 'cn.yipianfengye.android:zxing-library:1.8'
-
在代码中执行打开扫描二维码界面操作
-
/** * 打开默认二维码扫描界面 */ button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, CaptureActivity.class); startActivityForResult(intent, REQUEST_CODE);
-
生成二维码图片
生成带Logo的二维码图片:
Bitmap bitmap = CodeUtils.createImage("dd", 400, 400, null); imageView.setImageBitmap(bitmap);
生成不带logo的二维码图片
-
Bitmap bitmap = CodeUtils.createImage("https://github.com/yipianfengye/android-zxingLibrary#readme", 400, 400, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)); imageView.setImageBitmap(bitmap);
-
} });
-
这里的REQUEST_CODE是我们定义的int型常量。
-
在Activity的onActivityResult方法中接收扫描结果
-
/** * 处理二维码扫描结果 */
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE) { //处理扫描结果(在界面上显示) if (null != data) { Bundle bundle = data.getExtras(); if (bundle == null) { return; } if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) { String result = bundle.getString(CodeUtils.RESULT_STRING); Log.i("ss","sssssssssssssssssssssssssssss"+result); Intent it = new Intent(MainActivity.this, WebViewActivity.class); it.putExtra("result",result); startActivity(it); } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) { Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show(); } } } }
public class WebViewActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_view); Intent it = getIntent(); String result = it.getStringExtra("result"); WebView webView= (WebView) findViewById(R.id.webView); //设置WebView属性,能够执行Javascript脚本 webView.getSettings().setJavaScriptEnabled(true); //加载需要显示的网页 webView.loadUrl(result); //设置Web视图 webView.setWebViewClient(new HelloWebViewClient ()); } //Web视图 private class HelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } }