Я написал эту функцию, чтобы сохранить файл и вернуть файл Uri.Но root и file vars всегда пусты, поэтому в конце бросается NPE.
fun writeFile(context: Context, fileName: String, body: ByteArray): Uri? {
val fname = "${Environment.getExternalStorageDirectory().absolutePath}/ardata"
val root = File(fname)
if (!root.exists()) {
root.mkdirs()
}
try {
val file = File(root, fileName)
file.writeBytes(body)
file.setExecutable(true)
return FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider", file)
} catch (e: Exception) {
e.printStackTrace()
}
return null
}
return throwsNPE с сообщением:
Попытка вызвать виртуальный метод 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData (android.content.pm.PackageManager, java.lang.String) 'для ссылки на пустой объект
Вот так выглядят мои переменные в конце функции
Как я могу сохранить файл (ByteArray) и вернуть Uri?