Android进阶之路 - 拍照、相册下uri、path、file的转换方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20451879/article/details/83042946
  • Android拍照获得图片URI为空的处理方法

拍照的方法:

 public void takePhoto() {
      Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
      this.startActivityForResult(intent, 3);  
    }

onActivityResult方法中接收。

  Bundle bundle =data.getExtras();
  //获取相机返回的数据,并转换为Bitmap图片格式    
                    aphoto = (Bitmap)bundle.get("data");
                    if (data.getData()!=null){
                     imageUri =data.getData();
                    }else {
                        imageUri = Uri.parse(MediaStore.Images.Media.insertImage(getActivity().getContentResolver(), aphoto, null,null));
                    }
  • Android根据图片path转成Uri,分享图片
Uri pa=Uri.fromFile(new File(filePath));//根据路径转化为uri                
Intent imageIntent = new Intent(Intent.ACTION_SEND); //调用系统的ACTION_SEND                
imageIntent.setType("image/png");               
imageIntent.putExtra(Intent.EXTRA_STREAM, pa);/ /EXTRA_STREAM对应转化为uri的path                startActivity(Intent.createChooser(imageIntent, "分享"));
  • 本地路径转换成URL相对路径
//本地路径转换成URL相对路径
        private string urlconvertor(string imagesurl1)
        {
            string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
            string imagesurl2 = imagesurl1.Replace(tmpRootDir, ""); //转换成相对路径
            imagesurl2 = imagesurl2.Replace(@"\", @"/");
            //imagesurl2 = imagesurl2.Replace(@"Aspx_Uc/", @"");
            return imagesurl2;
        }

没有更多推荐了,返回首页