实现扫一扫功能 |
您所在的位置:网站首页 › 现在快手上扫一扫有什么功能 › 实现扫一扫功能 |
前段时间 ,完成一个项目,项目很简单,主要就是 实现一个扫一扫功能,此文章,主要针对此项目 对于 扫一扫功能做一个总结; 1.首先 实现扫一扫功能 ,用的是 zxing。 在网上 关于zxing的导入,资料一大堆,但是都比较复杂,所以 ,我就找了 一个简单的 , compile 'com.journeyapps:zxing-android-embedded:3.5.0'//zxing 的二维码扫描依赖库 直接 一行代码 搞定 ,里面已经包含了 对权限的申请,同时适配了 7.0 版本 ,大家可以自行参考。附上 该库的 github地址: https://github.com/journeyapps/zxing-android-embedded 下面是简单记录一下 ,重要的代码。 2.导入成功之后: 第一步: 点击按钮调用 /** * 跳转扫一扫页面 */ @OnClick(R.id.relative_layout_scan_title) public void onClickScan() { IntentIntegrator integrator = IntentIntegrator.forSupportFragment(TaskReminderFragment.this); // 设置要扫描的条码类型,ONE_D_CODE_TYPES:一维码,QR_CODE_TYPES-二维码 不设置 默认为 全部类型 integrator.setPrompt("将二维码放到框内即可"); //底部的提示文字,设为""可以置空 integrator.setCameraId(0); //前置或者后置摄像头 integrator.setBeepEnabled(true); //扫描成功的「哔哔」声,默认开启 integrator.setBarcodeImageEnabled(true); integrator.setTimeout(1000 * 60);//设置超时时间 integrator.initiateScan();//开始扫描 } 此处是以 在fragment中调用为例子;第二步: 在扫描成功之后的逻辑处理: /** * 扫一扫 返回的页面 */ @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { // 获取解析结果 IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (result != null) { if (result.getContents() == null) { App.showToast("取消扫描"); } else { Log.d("111", "二维码扫描结果为:" + result.getContents()); App.getInstance().saveProductId(result.getContents());//保存产品二维码 id //扫描成功之后 进行网络请求 if (StringUtil.isNotEmpty(result.getContents()) && (!(result.getContents() + "").equals("null"))) { Intent intent = new Intent(getActivity(), ScanActivity.class); intent.putExtra("content", result.getContents()); intent.putExtra("type",1);//代表的是 从 扫一扫 扫过去的 startActivity(intent); } else { App.showToast("扫描产品信息有误"); } } } else { super.onActivityResult(requestCode, resultCode, data); } } 同时也是写在 fragment页面中简单的两部操作 就可以实现扫一扫功能了
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |