Мне нужно создать текстовый файл в моем приложении для Android, но он не позволит мне. Метод проверки того, что он был создан, возвращает мне фальшивку. Как я мог это сделать?
Я уже назначил права на запись в файл manifest.xml приложения, но у меня это тоже не работает.
Я также сделал запрос на разрешения.
Права доступа к manifest.xml, которые я назначил так:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Код для записи файла, я сделал это так:
fun writeFile() {
if (ContextCompat.checkSelfPermission(this@GenerateCodeActivity,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
arrayOf(android.Manifest.permission.WRITE_EXTERNAL_STORAGE),
PackageManager.PERMISSION_GRANTED)
}
val sd_main = File(Environment.getExternalStorageDirectory().absolutePath+"/FilesMyApp")
var success = true
if (!sd_main.exists()) {
success = sd_main.mkdir()
}
if (success) {
val sd = File("${this@GenerateCodeActivity.auth.currentUser?.uid}")
val hola = "HOLA QUE TAL"
if (!sd.exists()) {
success = sd.mkdir()
}
if (success) {
// directory exists or already created
val dest = File(sd, "${this@GenerateCodeActivity.auth.currentUser?.uid}.txt")
try {
// response is the data written to file
FileOutputStream(dest).use { it.write(hola.toByteArray()) }
} catch (e: Exception) {
// handle the exception
}
} else {
// directory creation is not successful
}
}
}
Я хочу набрать указанную текстовую строку, но она не позволит мне войти в зону «если (успех)».