原因:三星手机的存储路径和其他oppo,vivo,华为等不一样。
解决方法如下:
public File saveBitmapFile(Bitmap bitmap) throws FileNotFoundException { long currentTime = Calendar.getInstance().getTimeInMillis(); String vendor = Build.MANUFACTURER; //判断是否为三星手机 if (vendor != null && vendor.toLowerCase().contains("samsung")) {
//三星手机可以找到的文件需要用/mnt/sdcard路径 file1 = new File("/mnt/sdcard", String.valueOf(currentTime)); } else {
//正常手机是这样,对三星就是不正常各种问题 file1 = new File(PATH, String.valueOf(currentTime));//将要保存图片的路径 } try { BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file1)); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos); bos.flush(); bos.close(); return file1; } catch (IOException e) { e.printStackTrace(); } return null; }