Android 打开失败:Kotlin中的enoint(没有这样的文件或目录)

Android 打开失败:Kotlin中的enoint(没有这样的文件或目录),android,kotlin,Android,Kotlin,我需要保存到内部存储器(而不是外部存储器)。这是我在Kotlin的代码 private fun saveImage(bitmap: Bitmap) { var outStream: FileOutputStream? = null try { val dir = File(Environment.DIRECTORY_DOCUMENTS, "ALCS"+ File.separator + "LaneShots&q

我需要保存到内部存储器(而不是外部存储器)。这是我在Kotlin的代码

private fun saveImage(bitmap: Bitmap) {
        var outStream: FileOutputStream? = null
        try {
            val dir = File(Environment.DIRECTORY_DOCUMENTS, "ALCS"+ File.separator + "LaneShots")
            val fileName = String.format("%s_%d.jpg", "Image", System.currentTimeMillis())
            if(!dir.exists()){
                dir.mkdirs();
            }
            val outFile = File(dir, fileName)
            outStream = FileOutputStream(outFile) ==> ERROR OCCURS HERE!!!
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream)
            outStream!!.flush()
            outStream!!.close()
        } catch (e: FileNotFoundException) {
            Log.e("TAG", e.toString())
        } catch (e: IOException) {
            Log.e("TAG", e.toString())
        } finally {
        }
    }
我收到错误
Documents/ALCS/LaneShots/Image_1601958600007.jpg:open failed:enoint(没有这样的文件或目录)

这在我的舱单上:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
无济于事

谢谢。

尝试使用:

MediaStore.Images.Media.insertImage(contentResolver、位图、“您的图像名称”、“图像已保存”)


除此之外,我建议,如果您使用的是输出方法,请将目录更改为Environment.directory\u PICTURES

代码正确。我只需要在运行时运行权限。该路径不正确。它不存在。这是不可能的。外部公共中最后提到的路径是可以的。但若设备运行安卓10,你们应该这么说。
dir.mkdirs()已失败。但是您不知道,因为您没有检查返回值。因此没有采取相应的行动。
val dir = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "ALCS"+ File.separator + "LaneShots")