二维码扫描

导入Zxing_lib

设置权限

<uses-permission android:name="android.permission.CALL_PHONE"/>

<uses-permission android:name="android.permission.CAMERA"/>

<uses-permission android:name="android.permission.FLASHLIGHT"/>

<uses-feature android:name="android.hardware.camera"/>

<uses-feature android:name="android.hardware.camera.autofocus"/>

<uses-permission android:name="android.permission.VIBRATE"/>

<uses-permission android:name="android.permission.WAKE_LOCK"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.INTERNET"/>

添加依赖 Acp依赖和logger依赖

implementation 'com.orhanobut:logger:2.2.0'
implementation 'com.mylhyl:acp:1.1.7'

初始化Zxing


        ZXingLibrary.initDisplayOpinion(this);
        Acp.getInstance(this).request(new AcpOptions.Builder()
                        .setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE
                                , Manifest.permission.READ_PHONE_STATE
                                , Manifest.permission.SEND_SMS
                                ,Manifest.permission.ACCESS_COARSE_LOCATION,
                                Manifest.permission.ACCESS_WIFI_STATE,Manifest.permission.CALL_PHONE,
                                Manifest.permission.CAMERA
                                )

                        .build(),
                new AcpListener() {
                    @Override
                    public void onGranted() {
                       // call();
                    }

                    @Override
                    public void onDenied(List<String> permissions) {
                        Toast.makeText(MainActivity.this, "你拒绝了这个权限", Toast.LENGTH_SHORT).show();
                    }
                });

设置点击的intent的跳转

 @Override
    public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
        startActivityForResult(intent,112);
        Log.d(TAG, "onActivityResult: "+ "我很快乐");
        Logger.i("hello444555555");
        Logger.v("hello444");
        Logger.wtf("hello666");
        String  JSON_CONTENT=
                "{\"Category\":[{\"categoryId\":1,\"categoryName\":\"饮品\",\"categoryImage\":\"/upload/yinpin.jpg\"},{\"categoryId\":2,\"categoryName\":\"食品\",\"categoryImage\":\"/upload/shiping.jpg\"},{\"categoryId\":3,\"categoryName\":\"酒类\",\"categoryImage\":\"/upload/jiullei.jpg\"}],\"recommend\":{\"id\":11,\"productName\":\"统一老坛泡椒牛肉袋面香辣味110g*24袋\",\"filenameSmall\":\"/upload/ty_ltpj_small.jpg\",\"productPrice\":48.0,\"productCost\":47.5}}";
        Logger.json(JSON_CONTENT);
    }

设置请求返回的数据

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        /**
         * 处理二维码扫描结果
         */
        if (requestCode == 112) {
            //处理扫描结果(在界面上显示)
            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);
                    Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show();
                    Log.d(TAG, "onActivityResult: "+ result);

                } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
                    Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
                }
            }
        }
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值