调用相机拍照之后,图片是可以显示出来的,但在手机相册中找不到拍下来的图片,虚拟机上可以,真机不行。。
   // 记录文件保存位置
private String mFilePath;
// 获取SD卡路径
mFilePath = Objects.requireNonNull(BaseApplication.getAppContext().getExternalCacheDir()).getPath();
// 文件名
mFilePath = mFilePath + "/" + "photo.jpg";
点击按钮拍照
// 打开系统拍照程
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// 加载路径
Uri uri = Uri.fromFile(new File(mFilePath));
// 指定存储路径
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
// 拍照返回图片
startActivityForResult(intent, CAMERA);
在onActivityResult方法中
try {
    // 获取输入流
    is = new FileInputStream(mFilePath);
    // 把流解析成bitmap
    Bitmap bitmap = BitmapFactory.decodeStream(is);
   Image.setImageBitmap(bitmap);
   saveImage(bitmap);
} catch (FileNotFoundException e) {
    ToastUtils.showToast("文件保存失败!");
} finally {
    // 关闭流
    try {
        is.close();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
将图片保存在本地存储中
private String saveImage(Bitmap bitmap) throws FileNotFoundException {
    long millis = System.currentTimeMillis();
    String path = this.getExternalCacheDir() + "/"+String.valueOf(millis)+".jpg";
    Log.e("TAG", "path = " + path);
    try {
        FileOutputStream fos = new FileOutputStream(path);
        // bitmap压缩(压缩格式、质量、压缩文件保存的位置)
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
    } catch (FileNotFoundException e) {
        ToastUtils.showToast("文件保存失败");
        e.printStackTrace();
    }
    return path;
}

你的手机版本是Android 几?
你的app target sdk是多少啊