Проблема: я не могу удалить файл.< /p>
Попытка 01:
Код: Выделить всё
val rawFilePath = inputData.getString(FILE_PATH)
val filePath = rawFilePath?.subSequence(7, rawFilePath.length).toString()
val file = File(filePath)
if (file.exists()) {
val deleted = file.delete()
logD("Deleted? $deleted")
} else {
logE("File do not exists")
}
Попытка 02 :
Код: Выделить всё
val downloadId = inputData.getLong(DOWNLOAD_ID, -1L)
val uri: Uri = MediaStore.Downloads.EXTERNAL_CONTENT_URI
logD("Path $uri.path")
val selection = MediaStore.Downloads._ID + "=?"
logD("selection $selection")
val selectionArgs = arrayOf(java.lang.String.valueOf(downloadId))
logD("DONWLOAD ID: $downloadId")
val deleteint = context.contentResolver.delete(uri, selection, selectionArgs)
logD("status: $deleteint")
Этот код загружает мой файл и зарегистрируйте трансляцию, чтобы дождаться завершения загрузки:
Код: Выделить всё
val basePath = File(Environment.getExternalStorageDirectory(), DOWNLOAD)
if (!basePath.exists()) {
basePath.mkdirs()
}
path = basePath.absolutePath + "/" + season.code+season.period+".csv"
EasyDownloadManager.startDowload(context, path, season.dataUrl)
context.registerReceiver(downloadBroadcastReceiver, IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE))
Код: Выделить всё
import android.app.DownloadManager
import android.content.Context
import android.net.Uri
import java.io.File
import java.io.InputStreamReader
object EasyDownloadManager {
fun startDowload(context: Context, downloadPath: String, url: String){
val file = File(downloadPath)
val request = DownloadManager.Request(Uri.parse(url))
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE or DownloadManager.Request.NETWORK_WIFI)
request.setDestinationUri(Uri.fromFile(file))
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
val downloadManager = context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
downloadManager.enqueue(request)
}
fun getFileFromId(context: Context, id: Long) : InputStreamReader {
val downloadManager = context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
val uri: Uri = downloadManager.getUriForDownloadedFile(id)
val inputStream = context.contentResolver.openInputStream(uri)
val inputStreamReader = InputStreamReader(inputStream)
return inputStreamReader
}
}
Код: Выделить всё
Код: Выделить всё
compileSdk 33
defaultConfig {
applicationId "com.curuto.footballdata"
minSdk 28
targetSdk 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Подробнее здесь: https://stackoverflow.com/questions/758 ... oid-sdk-33
Мобильная версия