关于魅族手机调用系统相册剪裁页面无法载入图片的问题。

     调用系统相册后选择相片 然后调用系统剪裁页面 发现别的手机都好使 魅族到剪裁页面一直处于加载中相片显示不出来,后来研究后发现选择相片后我把相片设置到了自定义文件夹,魅族手机读不出来,这样的话选择相片只能读取相片本身所在图库的路径进行剪裁。


修改前:

    /**
  * 选择图片
  */
private void startActionPickCrop() {
  String status=Environment.getExternalStorageState(); 
  if(status.equals(Environment.MEDIA_MOUNTED)){
  File dir=new File(Constants.POST_ORIGINAL_PHOTO); 
  if(!dir.exists()){
  dir.mkdirs(); 
  }
 
  Intent intent = new Intent(Intent.ACTION_PICK, null);
  intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");
  File file = new File(dir, String.valueOf(System.currentTimeMillis())+ ".jpg");
  path = file.getPath();
  Uri imageUri = Uri.fromFile(file);
  intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
// intent.setType("image/*");
  intent.putExtra("crop", "true");
  intent.putExtra("scale", true);
  intent.putExtra("return-data", false);
  intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
  intent.putExtra("noFaceDetection", true);
 
  startActivityForResult(intent, Constants.ALBUM_PICTURE);
 
  }else {
  Toast.makeText(Ask_Activity.this, "没有检测到SdCard卡",Toast.LENGTH_LONG).show(); 
  }
 

  修改后:


  /**
  * 选择图片
  */
private void startActionPickCrop() {
  String status=Environment.getExternalStorageState(); 
  if(status.equals(Environment.MEDIA_MOUNTED)){
  Intent intent = new Intent(Intent.ACTION_PICK, null);
  intent.setType("image/*");
  startActivityForResult(intent, Constants.ALBUM_PICTURE);
  }else {
  Toast.makeText(Ask_Activity.this, "没有检测到SdCard卡",Toast.LENGTH_LONG).show(); 
  }
 

回调:

protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);  
switch (requestCode){

case Constants.TAKE_PICTURE:
startPhotoCrop(imageUri);
 break;

case Constants.ALBUM_PICTURE:


if(data!=null){d
  Uri selectedImage = data.getData(); //获取系统返回的照片的Uri  此处的uri是图片所在系统图库的路径
                  startPhotoCrop(selectedImage);
}


            
 break;

  


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值