android java.io.File.fixSlashes(File.java:185)

我在控制台崩溃和anrs中出错了。 有时会出现此错误,我无法找到问题所在。

java.lang.NullPointerException at java.io.File.fixSlashes(File.java:185) at java.io.File.(File.java:134) 

保存图片的function代码是:

  public static String sharePhoto(Context context, Bitmap bmp) { File folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Folder"); boolean success = true; String file_path = null; if (!folder.exists()) { success = folder.mkdir(); } if (success) { file_path = folder + "/Img_" + System.currentTimeMillis() / 1000 + ".jpg"; } OutputStream os = null; try { os = new FileOutputStream(file_path); bmp.compress(Bitmap.CompressFormat.JPEG, 100, os); } catch (IOException e) { e.printStackTrace(); } } else { // Do something else on failure } Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); File f = new File(file_path); Uri contentUri = Uri.fromFile(f); mediaScanIntent.setData(contentUri); context.sendBroadcast(mediaScanIntent); return file_path; } 

尝试这个:

 File folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/MyFolder"); 

getExternalStorageDirectory()getExternalStorageDirectory()返回File 。 您需要获取该文件的绝对路径并与"/Pictures/MyFolder"