我正在尝试拍摄图像,将其优化为 65% jpeg 并将其保存到手机存储中。下面的代码在我的nexus 上运行良好,但在最后一行返回了一个空指针异常。
知道我做错了什么吗?谢谢
// image passed in from camera
Bitmap bm = BitmapFactory.decodeFile(selectedImagePath, opts);
// create output
FileOutputStream fileOutputStream = null;
// create filename & directory
String nameFile = "ms" + String.valueOf(System.currentTimeMillis())+ ".jpg";
String directory = "/DCIM/MySeats/";
// try creating the directories if they don't already exist
File file = new File(Environment.getExternalStorageDirectory(),directory);
file.mkdirs();
// prep output
fileOutputStream = new FileOutputStream(Environment.getExternalStorageDirectory().toString()+ directory + nameFile);
optimizedImagePath = Environment.getExternalStorageDirectory().toString()+ directory + nameFile;
// write file through a buffered stream
BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream);
// This line causes a null pointer exception on some phones?
// What am I missing?
bm.compress(CompressFormat.JPEG, 65, bos);