前言:昨天写了一篇博客记录了一下ImageView长按实现图片的保存,在生活中使用微信的时候会发现长按图片,图片中如果含有二维码的话会弹出一个有“识别二维码”的弹窗,也就是说有无二维码弹出框是不一样的。今天,趁着午休的时间在保存图片demo的基础上进行了一下修改,实现简单的二维码识别功能。
逻辑流程:用户长按图片—ImageView截图—判断有无二维码—提示
关键代码:
img = (ImageView) findViewById(R.id.qrcode); img.setDrawingCacheEnabled(true); img.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(final View view) { Bitmap bitmap = ((ImageView) view).getDrawingCache(); int width = bitmap.getWidth(); int height = bitmap.getHeight(); int[] data = new int[width * height]; bitmap.getPixels(data, 0, width, 0, 0, width, height); RGBLuminanceSource source = new RGBLuminanceSource(width, height, data); BinaryBitmap bitmap1 = new BinaryBitmap(new HybridBinarizer(source)); QRCodeReader reader = new QRCodeReader