我试图在我的DownloadManager类中使用Service:

    DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
    //imageUri is a valid Uri
    Request downloadRequest= new Request(imageUri);
    //without this line, it works
    downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
    //subpath is valid
    downloadRequest.setDestinationInExternalFilesDir(this, null, subPath);
    downloadManager.enqueue(downloadRequest);

没有setNotificationVisibility,此代码可以正常工作。但是它显示了一个我不想要的通知,因为我使用此代码将图像延迟加载到ListView中。

我了解,此通知可以隐藏为
downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);

但是在那种情况下,我的应用程序崩溃了:


setNotificationVisibility怎么了?我怎么能收到通知?

最佳答案

根据文档,您需要在 list 中具有以下权限:

<uses-permission
        android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />

关于android - DownloadManager.Request.setNotificationVisibility失败,出现SecurityException : invalid value for visibility: 2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9345977/

10-12 03:08