flutter_downloader
flutter_downloader copied to clipboard
no progress bar in notification
Future<void> download(String url) async {
var permission = await Permission.storage.request();
if (permission.isGranted) {
final baseStorage = await getExternalStorageDirectory();
await FlutterDownloader.enqueue(
url: url,
savedDir: baseStorage!.path,
showNotification: true,
openFileFromNotification: true);
}
}
ReceivePort _port = ReceivePort();
int progress = 0;
@override
void initState() {
IsolateNameServer.registerPortWithName(
_port.sendPort, 'downloader_send_port');
_port.listen((dynamic data) {
progress = data[2];
setState(() {});
});
FlutterDownloader.registerCallback(downloadCallback);
super.initState();
}
@override
void dispose() {
IsolateNameServer.removePortNameMapping('downloader_send_port');
super.dispose();
}
static void downloadCallback(
String id, DownloadTaskStatus status, int progress) {
final SendPort? send =
IsolateNameServer.lookupPortByName('downloader_send_port');
send!.send([id, status, progress]);
}
@hnvn
Any solutions?
have u added provider in androidManifest.xml?
<provider
android:name="vn.hunghd.flutterdownloader.DownloadedFileProvider"
android:authorities="${applicationId}.flutter_downloader.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>