android - DownloadManager.Request.setNotificationVisibility 失败,SecurityException : invalid value for visibility: 2

标签 android download-manager

我正在尝试在我的 Service 类中使用 DownloadManager:

    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);

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

02-19 02:24:24.055: E/AndroidRuntime(2572): java.lang.SecurityException: Invalid value for visibility: 2 02-19 02:24:24.055: E/AndroidRuntime(2572): at android.os.Parcel.readException(Parcel.java:1327) 02-19 02:24:24.055: E/AndroidRuntime(2572): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:181) 02-19 02:24:24.055: E/AndroidRuntime(2572): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135) 02-19 02:24:24.055: E/AndroidRuntime(2572): at android.content.ContentProviderProxy.insert(ContentProviderNative.java:415) 02-19 02:24:24.055: E/AndroidRuntime(2572): at android.content.ContentResolver.insert(ContentResolver.java:730) 02-19 02:24:24.055: E/AndroidRuntime(2572): at android.app.DownloadManager.enqueue(DownloadManager.java:885) 02-19 02:24:24.055: E/AndroidRuntime(2572): at MyService.getImage(MyService.java:112)

setNotificationVisibility 有什么问题?我怎样才能收到通知?

最佳答案

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

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

注意
大多数 list 权限将由 Android Studio 自动完成,但这不会自动完成。

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

相关文章:

android - setMultiChoiceItems 对话框中的图标 - Android

php - 如何从 MYSQL 表中获取数据到 Android 应用程序

android - 强制MediaRecorder生成AAC LC

c# - 使用多个连接和多宿主下载文件

python - 无法使用python套接字编程下载文件

android - 如何确定用户是否触摸了 Canvas 中的椭圆?

c# - Windows 应用商店应用程序上的 Android-SharedPreferences 之类的东西?

android - DownloadManager 为下载失败发送 STATUS_SUCCESSFUL

android下载管理器下载文件一次

android - java.lang.NoSuchMethodError : android. app.DownloadManager$Request.setNotificationVisibility 错误