我正在使用flutter_downloader: ^1.9.1
下载文件。它工作正常,文件被下载到下载文件夹中。但问题是文件下载后,通知错误地显示为失败,并且在通知上单击它没有重定向到下载文件夹。您的帮助将保存我的一天。
void _download(String url) async {
final status = await Permission.storage.request();
if (status.isGranted) {
final externalDir = await getExternalStorageDirectory();
final id = await FlutterDownloader.enqueue(
fileName: "LRMonoPhase4.mp3",
url: 'https://www.kozco.com/tech/LRMonoPhase4.mp3',
savedDir: '/storage/emulated/0/Download',
showNotification: true,
openFileFromNotification: true,
);
} else {
print('Permission Denied');
}
}
这是提供者
<provider
android:name="vn.hunghd.flutterdownloader.DownloadedFileProvider"
android:authorities="im.mingguang.mingguang_app.flutter_downloader.provider"
android:exported="false"
android:grantUriPermissions="true"
android:requestLegacyExternalStorage="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
最后这是Log
D/DownloadWorker( 4447): DownloadWorker{url=https://www.kozco.com/tech/LRMonoPhase4.mp3,filename=LRMonoPhase4.mp3,savedDir=/data/user/0/com.rsoft.salezrobot/app_flutter,header={},isResume=false,status=ENQUEUED
D/DownloadWorker( 4447): Update notification: {notificationId: 10, title: LRMonoPhase4.mp3, status: RUNNING, progress: 0}
D/DownloadWorker( 4447): Open connection to https://www.kozco.com/tech/LRMonoPhase4.mp3
D/DownloadWorker( 4447): Headers = {}
D/TrafficStats( 4447): tagSocket(172) with statsTag=0xffffffff, statsUid=-1
D/EGL_emulation( 4447): app_time_stats: avg=21.56ms min=5.27ms max=97.80ms count=47
I/trustAllHosts( 4447): checkServerTrusted
D/DownloadWorker( 4447): Content-Type = audio/mpeg
D/DownloadWorker( 4447): Content-Length = 931630
D/DownloadWorker( 4447): Charset = null
D/DownloadWorker( 4447): fileName = LRMonoPhase4.mp3
D/DownloadWorker( 4447): Update notification: {notificationId: 10, title: LRMonoPhase4.mp3, status: RUNNING, progress: 1}
D/EGL_emulation( 4447): app_time_stats: avg=19.26ms min=7.83ms max=39.89ms count=52
D/DownloadWorker( 4447): Update too frequently!!!!, this should be dropped
D/DownloadWorker( 4447): Update too frequently!!!!, this should be dropped
1条答案
按热度按时间k2arahey1#
根据文档,您的android清单文件中应该缺少一些内容,
我不知道它是否链接到通知中显示的“失败”消息,但您应该检查日志以获得更多信息。
最后,必须定义回调。
有关回调的更多信息。
注意:在Android上,您只能打开已下载的文件,前提是该文件位于外部存储中,并且设备上至少有一个应用程序可以读取该文件类型。
工作日志示例: