腾讯云服务器 双11 优惠
https://cloud.tencent.com/act/double11/reserve?spread_hash_key=Pel1qM

android真相.gif
#基于 Zxing, 初学Android  代码质量不高//长按,通过zxing读取图片,判断是否有二维码bigImage.setOnLongClickListener(new View.OnLongClickListener() {       @Override       public boolean onLongClick(View viewm) {           Bitmap obmp = ((BitmapDrawable) (bigImage).getDrawable()).getBitmap();           int width = obmp.getWidth();           int height = obmp.getHeight();           int[] data = new int[width * height];           obmp.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();           Result re = null;           try {               re = reader.decode(bitmap1);           } catch (NotFoundException e) {               e.printStackTrace();           } catch (ChecksumException e) {               e.printStackTrace();           } catch (FormatException e) {               e.printStackTrace();           }           if (re == null) {               showAlert(obmp);           } else {               showSelectAlert(obmp, re.getText());           }           return false;       }   });  private void showAlert(final Bitmap bitmap) {      AlertDialog.Builder builder = new AlertDialog.Builder(this);      builder.setMessage("保存图片")              .setCancelable(false)              .setPositiveButton("确定", new DialogInterface.OnClickListener() {                  @Override                  public void onClick(DialogInterface dialogInterfacem, int i) {                      saveImageToGallery(bitmap);                  }              })              .setNegativeButton("取消", new DialogInterface.OnClickListener() {                  @Override                  public void onClick(DialogInterface dialogInterfacem, int i) {                  }              });      builder.show();  }    private void showSelectAlert(final Bitmap bitmap, final String url) {      AlertDialog.Builder builder = new AlertDialog.Builder(this);      builder.setTitle("请选择");      String str[] = {"保存图片", "扫二维码"};      builder.setItems(str, new DialogInterface.OnClickListener() {          @Override          public void onClick(DialogInterface dialogInterfacem, int i) {              switch (i) {                  case 0: {                      saveImageToGallery(bitmap);                  }                  break;                  case 1: {                      Intent n = new Intent(EnlargeimagevActivity.this, DetailActivity.class);                      n.putExtra(DetailActivity.BUNDLE_KEY_DISPLAY_TYPE, DetailActivity.WEBVIEW_DETAIL);                      n.putExtra(DetailwebFragment.WEB_URL, url);                      startActivity(n);                  }                  break;              }          }      });      builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {          @Override          public void onClick(DialogInterface dialogInterfacem, int i) {            }      });      builder.show();  } 
zxing 下载  [http://download.csdn.net/detail/eric19920720/9709305](http://download.csdn.net/detail/eric19920720/9709305)

更多相关文章

  1. Drawable、Bitmap、byte[]之间的转换
  2. Android(安卓)使用Glide加载图片变色
  3. Android实现滑动屏幕切换图片
  4. Android消息推送(广播机制)+通知
  5. android Gridview生成程序快捷键的复杂方法
  6. 图片背景平铺
  7. Android(安卓)几种图像特效处理的集锦
  8. Android中几种图片特效的处理的实现方法
  9. Android通过Movie展示Gif格式图片

随机推荐

  1. android activity以对话框形式显示
  2. android permission设置
  3. Android SDK Android NDK 下载地址
  4. ubuntu 18.04 编译Android坑s
  5. 关于基于jetty在android上开发未能解决的
  6. androidimplementationxorg-server-1.12.
  7. Android中Timer计时器详解
  8. Android单例模式封装HttpURLConnection网
  9. Android NDK 安装配置指南
  10. Android学习(一) 按钮的事件