具有自定义通知的DownloadManager

我现在碰壁了,我想用DownloadManager下载文件,并且可以正常工作。但是,我想使用例如自定义该通知,而不是在右侧以百分比显示进度,而是显示:DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR / DownloadManager.COLUMN_TOTAL_SIZE_BYTES,并在下载完成后添加一个按钮(但为此,知道下载完成后有接收器)

到目前为止,我的代码如下:

DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(mpopup.apk));
NotificationCompat.Builder nBuilder = new NotificationCompat.Builder(this,"Channel_ID")
                                        .setOngoing(true)
                                        .setautoCancel(false)
                                        .setContentTitle("DOWNLOAD FILE")
                                        .setContentText("Downloading 0MB/100MB")
                                        .setProgress(100,false);


request.setTitle("DOWNLOAD TITLE");
request.setVisibleInDownloadsUi(false);
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
downloadManager.enqueue(request);

如何更新进度条和通知中的文字?正在下载

我已经尝试过:DownloadManager notification displays no percentage,但是它不起作用,只有完全下载后才显示日志

hj5652545851 回答:具有自定义通知的DownloadManager

不直接。您的应用未显示{​​{1}};您无法控制它的行为。

最可能的解决方案是不使用Notification,而是自己下载内容。然后,您可以将任何内容显示为DownloadManager

中间立场是使用Notification.,但要设置标志和权限以允许您请求不显示通知的下载。然后,您可以拥有自己的DownloadManager,其缺点是您可能无法重现系统提供的Notification.的所有功能(例如,完成进度百分比指示器)。

Notification
,

简短的回答是,由于无法控制通知,因此您无法更新通知。

唯一的解决方案是自己管理下载并由此管理通知。

本文链接:https://www.f2er.com/3030167.html

大家都在问