flutter_downloader
這個插件在用的時候,Android模擬器上面會出現(xiàn)下面這個報錯澡刹,進度一直是0
Backoff delay duration less than minimum value
- 看了很多issue呻征,發(fā)現(xiàn)一個issue戳中要害
https://github.com/fluttercommunity/flutter_downloader/issues/105
模擬器上面的WiFi或者信號中有個x號,因為無法訪問到google罢浇,則判斷網(wǎng)絡(luò)無法連接陆赋,導致無法下載,實際上是可以連接網(wǎng)絡(luò)的嚷闭。
// 源碼在flutter_downloader/android/src/main/java/vn/hunghd/flutterdownloader/FlutterDownloaderPlugin.java 143行攒岛、
...
private WorkRequest buildRequest(String url, String savedDir, String filename, String headers, boolean showNotification, boolean openFileFromNotification, boolean isResume, boolean requiresStorageNotLow) {
WorkRequest request = new OneTimeWorkRequest.Builder(DownloadWorker.class)
.setConstraints(new Constraints.Builder()
.setRequiresStorageNotLow(requiresStorageNotLow)
.setRequiredNetworkType(NetworkType.CONNECTED) // 這里
.build())
.addTag(TAG)
.setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 5, TimeUnit.SECONDS)
.setInputData(new Data.Builder()
.putString(DownloadWorker.ARG_URL, url)
.putString(DownloadWorker.ARG_SAVED_DIR, savedDir)
.putString(DownloadWorker.ARG_FILE_NAME, filename)
.putString(DownloadWorker.ARG_HEADERS, headers)
.putBoolean(DownloadWorker.ARG_SHOW_NOTIFICATION, showNotification)
.putBoolean(DownloadWorker.ARG_OPEN_FILE_FROM_NOTIFICATION, openFileFromNotification)
.putBoolean(DownloadWorker.ARG_IS_RESUME, isResume)
.build()
)
.build();
return request;
...
- 解決方案