写了个拍照,然后把照片存文件夹里面,在拍照后打印地址是显示存进去了的 ,但是在手机本地找不到图片,我用图片路径得到照片也得不到
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
参考:
/**
* 保存图片到本地
* <p/>
* <p>需要权限:</p>{@code
* <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
* <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>}
*
* @param bitmap 要保存的图片.
* @throws IOException 写文件时导致的异常.
* @throws FileNotFoundException 文件未找到时,或路径不存在时抛出此异常.
* @see {@link com.w1520.liangye.utils.NetworkUtils#saveImages(ImageView imgView)}
*/
public void saveImages(Bitmap bitmap) {
String strPath = getSDPath();
DateUtils dateutils = DateUtils.getInstance();
String strFileName = dateutils.getCurrentTimeById() + ".jpg";
FileOutputStream fos = null;
try {
File destDir = new File(strPath);
if (!destDir.exists()) {
destDir.mkdirs();
}
final String filePaths = strPath + "/" + strFileName;
File imageFile = new File(filePaths);
imageFile.createNewFile();
fos = new FileOutputStream(imageFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, fos);
fos.flush();
showToast("已成功保存到相册", Toast.LENGTH_SHORT);
refreshPicture(filePaths);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 获取SD卡或者内置存储空间可以保存资源的路径.
* <em>此处未实现对存储空间是否充足进行判断</em>.
*
* @return 返回保存数据的路径, 有SD卡则是SD上的路径, 反之内置存储空间上的路径.
*/
private String getSDPath() {
boolean hasSDCard = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
if (hasSDCard) {
return Environment.getExternalStorageDirectory().toString() + "/Pictures/liangye";
} else
return "/data/data/package";
}