解決三星手機寫入和讀取檔案失敗問題
阿新 • • 發佈:2019-02-07
原因:三星手機的儲存路徑和其他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; }