DownloadManager.Request.setNotificationVisibility在android P中



我正在下载一个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权限。 这是普通权限,因此系统会自动将其授予 请求应用。

相关内容

  • 没有找到相关文章

最新更新