Android 从相机获取图片,存到指定文件进行编辑,bitmap总是为空

 

pChoice.setOnClickTextViewListener(new PopChoice.OnClickTextViewListner() {

   @Override
   public void onTextViewClick(String tag) {
      if (tag.equals("相机")) {
         if (checkPermission(Manifest.permission.CAMERA)){
            intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
            startActivityForResult(intent, REQUEST_CODE_PHOTO);
         }else {
            //申请权限
            ActivityCompat.requestPermissions(SetActivity.this, new String[]{Manifest.permission.CAMERA}, REQUEST_PERMISSION_CAMERA );
         }

 

 

private File file = new File(Environment.getExternalStorageDirectory() + "/temp.png");

 

 

case REQUEST_CODE_PHOTO:
   if (intent != null && intent.getData() != null) {
      uri = intent.getData();
   }
   if (uri == null) {
      uri = Uri.fromFile(file);
   }

   int degree = readPictureDegree(file.getAbsolutePath());
   BitmapFactory.Options opts = new BitmapFactory.Options();// 获取缩略图显示到屏幕上
   opts.inSampleSize = 2;
   Bitmap cbitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), opts);
   if(null != cbitmap){
      /**
       * 把图片旋转为正的方向
       */
      Bitmap newbitmap = rotaingImageView(degree, cbitmap);
      if (MediaStore.Images.Media.insertImage(getContentResolver(), newbitmap, null, null) != null) {
         uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), newbitmap, null, null));
      }

      startPhotoZoom(uri);

   }else {
      JUtils.Toast("获取图片失败");
   }
   break;

 

 

经过各种折腾,各种改,终于发现了原因

就是权限没加、、、、从相机获取照片保存到指定的文件夹,需要储存卡的读写权限,6.0之后是手动添加的,,,,我只添加了打开相机的权限

if (checkPermission(Manifest.permission.CAMERA)&&checkPermission(Manifest.permission.READ_EXTERNAL_STORAGE)&&checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)){
这样就ok了 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值