package com.example.myerweima; import android.content.ContentResolver; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.provider.MediaStore; import android.support.v4.app.ActivityCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.uuzuche.lib_zxing.activity.CaptureActivity; import com.uuzuche.lib_zxing.activity.CodeUtils; import com.uuzuche.lib_zxing.activity.ZXingLibrary; import java.io.IOException; public class MainActivity extends AppCompatActivity { public static final String TAG =MainActivity.class.getSimpleName() ; private Button btn1; private int REQUEST_CODE=001; private int REQUEST_IMAGE=002; private Button btn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //依赖包 ZXingLibrary.initDisplayOpinion(this); //添加动态权限 initPermission(); //初始化控件 btn1 = findViewById(R.id.btn1); btn2 = findViewById(R.id.btn2); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(MainActivity.this, CaptureActivity.class); startActivityForResult(intent,REQUEST_CODE); } }); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("image/*"); startActivityForResult(intent,REQUEST_IMAGE); } }); } private void initPermission() { String[] permission = CheckPermissionUtils.checkPermission(this); if(permission.length==0){ //权限都申请了 是否登陆 }else{ ActivityCompat.requestPermissions(this,permission,100); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode==REQUEST_CODE){ if(data!=null){ Bundle bundle = data.getExtras(); if(bundle ==null){ return; } if(bundle.getInt(CodeUtils.RESULT_TYPE)==CodeUtils.RESULT_SUCCESS){ String result = bundle.getString(CodeUtils.RESULT_STRING); Toast.makeText(this,"解析结果:"+result,Toast.LENGTH_SHORT).show(); }else if(bundle.getInt(CodeUtils.RESULT_TYPE)==CodeUtils.RESULT_FAILED){ Toast.makeText(this,"解析二维码失败",Toast.LENGTH_SHORT).show(); } } } if(requestCode == REQUEST_IMAGE){ if(data!=null){ Uri uri=data.getData(); // ContentResolver cr = getContentResolver(); try { //Bitmap mbitmap = MediaStore.Images.Media.getBitmap(cr, uri); CodeUtils.analyzeBitmap(ImageUtil.getImageAbsolutePath(this,uri),new CodeUtils.AnalyzeCallback() { @Override public void onAnalyzeSuccess(Bitmap mBitmap, String result) { Toast.makeText(MainActivity.this, "解析结果:" + result, Toast.LENGTH_LONG).show(); Log.i(TAG, "二维码图片识别==: " + result); } @Override public void onAnalyzeFailed() { Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show(); } }); /* if(mbitmap!=null){ mbitmap.recycle(); }*/ } catch (Exception e) { e.printStackTrace(); } } } } }
二维码
最新推荐文章于 2022-10-11 15:39:58 发布