我正在下载一个pdf文件,下载通知在棉花糖中可见,但在Android P中不可见。
"我的文件"在安卓-M和安卓-P中都成功下载
我的代码在这里。
public static long DownloadData (Uri uri, Context context,String dir,String fileName,String title,String discription) {
if(title==null){
title="";
}
if(discription==null){
discription="";
}
long downloadReference;
final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
// Create request for android download manager
downloadManager = (DownloadManager)context.getSystemService(DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
request.setVisibleInDownloadsUi (true);
request.setNotificationVisibility (DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.addRequestHeader("Authorization", "Bearer " + sp.getString(SharedPreferenceKeys.PREF_AUTH_TOKEN, "Woof"));
//Setting title of request
request.setTitle(title);
//Setting description of request
request.setDescription(discription);
request.setDestinationInExternalPublicDir(
dir,fileName);
//Enqueue download and save into referenceId
downloadReference = downloadManager.enqueue(request);
return downloadReference;
}
任何人都可以提供解决方案来显示Android P中的下载通知吗? 谢谢。
如果项目以 Android 9.0(API 级别 28)为目标,则需要在清单中添加FOREGROUND_SERVICE权限。
将以下代码添加到清单文件
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
注意:以 Android 9.0(API 级别 28)或更高版本为目标平台且使用 前台服务必须请求FOREGROUND_SERVICE权限。 这是普通权限,因此系统会自动将其授予 请求应用。