凤老三
2017-06-12 03:14
采纳率: 50%
浏览 2.3k

android 拍照上传图片 小米手机不能拍照

使用拍照功能,测试了几款,有SD 卡的,无SD卡的 其他手机暂无问题.小米手机有SD卡,
但一直报
Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/com.hbsy.Wxbb/img/7_20170612082622.jpg: open failed: ENOENT (No such file or directory)

调试发现 无法在目录下创建文件夹

final private static String createBaseDir() {
String Rulest = "";
if (Utlity.isSdcardWritable()) {
LogUtils.i("log", "可以读取SD卡");
;
String basePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/";
String destPath = basePath.trim() + APP_PAGE_NAME.trim();
File parent = new File(destPath.trim());
if (!parent.exists() && !parent.isDirectory()) {

            if (parent.mkdirs()) {
                LogUtils.i("创建文件夹成功!" + parent.getAbsolutePath() + "/");
            } else {
                LogUtils.i("创建文件夹失败!" + parent.getAbsolutePath() + "/");
                parent.mkdir();
            }

        }
      Rulest= parent.getAbsolutePath();
    } else {
        LogUtils.i("log", "不可以读取SD卡");
        ;
        Rulest = getExternalSdCardPath();
    }
    if (Rulest != null) {
        return Rulest;
    } else {
        return null;
    }

}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 已采纳

    /**
    * 打开相机拍照功能
    * @param activity //当前界面
    * @param flag //回调标志位
    */
    public static File openCamera(Activity activity,int flag){
    String status= Environment.getExternalStorageState();
    if(status.equals(Environment.MEDIA_MOUNTED)){//判断是否有SD卡
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File tempFile = new File(Environment.getExternalStorageDirectory(), getPhotoFileName());
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));
    intent.putExtra("camerasensortype", 2);// 调用前置摄像头
    intent.putExtra("autofocus", true);// 自动对焦
    intent.putExtra("fullScreen", false);// 全屏
    intent.putExtra("showActionIcons", false);
    activity.startActivityForResult(intent, flag);
    return tempFile;
    }else{
    Toast.makeText(activity, "没有SD卡,无法调用拍照功能", Toast.LENGTH_LONG).show();
    return null;
    }
    }

    点赞 打赏 评论
  • 相机调用不了还是拍完照返回读取图片路径问题?

    点赞 打赏 评论
  • jiajia756 2017-06-12 07:48

    你能调用起系统的拍照功能么,应该是可以的,注意一个地方,intent传值是有大小限制的,也就是,拍照后的图片应该先保存在本地,然后回传一个图片保存在本地的地址,拿这个地址去上传图片,而不是直接传一个bitmap对象

    点赞 打赏 评论
  • Mr康 2017-06-13 01:52

    小米手机存在一个拍完照片,返回的地址值为null的情况

    点赞 打赏 评论
  • 凤老三 2017-06-14 07:51

    百分之五的 几率出现
    java.io.FileNotFoundException: /storage/emulated/0/com.hbsy.Wxbb/img/75_20170614152234.jpg: open failed: ENOENT (No such file or directory)

    点赞 打赏 评论
  • 承影1216 2017-06-16 09:25
    点赞 打赏 评论

相关推荐 更多相似问题