Как заставить MediaScannerConnection в Котлине работать - PullRequest
0 голосов
/ 16 января 2019

Я написал немного кода для сохранения базы данных SQLite в файле .csv. Мне нужен этот файл на компьютере, но когда я подключаю свой телефон к компьютеру, файл не появляется, пока я не перезагружу его. Я прочитал, что файл должен быть отсканирован, прежде чем он появится, поэтому я попытался заставить MediaScannerConnection работать, но у меня не получается его сканировать.

Файл, который создан: val myExternalFile = File(getExternalFilesDir(null), "docname.csv")

и сканер: MediaScannerConnection(this, null).scanFile(myExternalFile.absolutePath, null)

Структура для сохранения файла выглядит следующим образом:

var myExternalFile = File(getExternalFilesDir(null), "docname.csv")
try {
    val fileOutPutStream = FileOutputStream(myExternalFile)
    fileOutPutStream.write(fileContent.toByteArray())
    fileOutPutStream.flush()
    fileOutPutStream.close()
    MediaScannerConnection(this, null).scanFile(myExternalFile.absolutePath, null)
    Toast.makeText(this, "Saved", Toast.LENGTH_LONG).show()
} catch (e: IOException) {
    Toast.makeText(this, "Error", Toast.LENGTH_LONG).show()
    e.printStackTrace()
}

Я также не уверен насчет параметров, переданных для функций, но, возможно, у кого-то есть идея? Я новичок в программировании, поэтому я был бы рад получить любую обратную связь.

...