Kotlin Android文件创建错误
在我的kotlin Android应用程序中,我想在外部存储文件夹中创建一个新文件。我有以下代码:Kotlin Android文件创建错误,android,kotlin,kotlin-android-extensions,Android,Kotlin,Kotlin Android Extensions,在我的kotlin Android应用程序中,我想在外部存储文件夹中创建一个新文件。我有以下代码: if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) { Log.e("TAG", "${Environment.getExternalStorageState()}") return } var directory: File? = null var file: File? = null
if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
Log.e("TAG", "${Environment.getExternalStorageState()}")
return
}
var directory: File? = null
var file: File? = null
directory = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "SecretsApp")
try {
directory?.mkdirs()
} catch (e: SecurityException) {
Log.e("TAG", e.toString())
return
}
if (directory != null) {
try {
var filename = "$groupName-privatekey.secretsapp"
Log.i("AttachmentProcessing", filename)
file = File(directory, filename)
var created = file.createNewFile()
} catch(e: Exception) {
Log.e("TAG", e.toString()
return
}
}
我的
manifest.xml
也设置了
。但是,当我运行上述代码时,我在createNewFile
行得到一个异常,即java.io.IOException:没有这样的文件或目录
。知道我为什么不能创建该文件吗?我确信那里没有以该名称存在的文件,即使存在一个文件,我也希望它被重写。如何修复此问题?我已经测试了您的代码。这是一个运行时权限问题。请使用运行时权限,它将正常工作。请点击下面的链接
您添加了运行时权限吗?@Pavya在运行时,我没有任何权限对话框本身。我是否需要在清单或代码中添加其他内容以允许android在运行时请求权限?