问题描述
我们可以捕捉到,当下载完成时,通过使用具有意图的接收者操作 DownloadManager.ACTION_DOWNLOAD_COMPLETE。但是如何检查,此下载是否成功,如果没有,是否部分完成或此 url 上的文件不存在。如果文件不存在,是互联网连接问题还是其他原因?如果下载由于某种原因暂停,如何继续,以及我的接收者的方法是否会在恢复后下载完成时再次调用?因为如果下载不成功,我的应用程序就会崩溃,这对我来说并不奇怪。非常感谢大家的帮助。
//part of my activity class
class ActivityDetails : AppCompatActivity() {
private var loadId: Long = -1
private lateinit var dM: DownloadManager
private val loadReciever: broadcastReceiver = object : broadcastReceiver() {
override fun onReceive(context: Context?,intent: Intent) {
if (intent.action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)) {
val id: Long = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID,-1)
if (id == loadId) {
intent.action = Intent.ACTION_SEND
intent.type = dM.getMimeTypeForDownloadedFile(id)
intent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
intent.putExtra(Intent.EXTRA_SUBJECT,"sharing")
intent.putExtra(Intent.EXTRA_STREAM,dM.getUriForDownloadedFile(id))
intent.putExtra(Intent.EXTRA_TEXT,"Test")
intent.setPackage(null)
loadId = -1
startActivity(intent)
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)