android 大图片裁剪 Uri传递大图

来源:互联网 发布:mac os系统下载百度云 编辑:程序博客网 时间:2024/05/10 09:57

在使用Android系统的裁剪,进行大图裁剪时,因为Intent不能携带太大的图,返回的是一个160x160的缩略图。需要使用Uri才能获取到裁剪后的大图。

在定义Uri路径时犯了错误,最初使用的路径是:

        String path =  activiy.getCacheDir().getAbsolutePath() + "/avatar";        IMAGE_FILE_LOCATION =getCacheFile(new File(path),"avatar"+select_type+".jpg");        imageUri = Uri.fromFile(IMAGE_FILE_LOCATION);
这样在裁剪完图片返回数据时,会出现异常:java.io.FileNotFoundException:Permission denied


原因是:

相机活动在不同的应用程序中运行,无法访问应用程序的内部缓存目录。必须使用外部目录或让相机应用程序选择目录本身才能将其复制到缓存目录。

解决办法是,不用getCacheDir()  用  getExternalCacheDir()

原创粉丝点击