[android] jSecurityException : DownloadManager.Request.setNotificationVisibility가 실패합니다. 가시성 값이 2입니다.



Answers

Question

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 : 유효하지 않은 가시성 값 : 2 02-19 02 : 24 : 24.055 : E / AndroidRuntime (2572) : android.os.Parcel .readException (Parcel.java:1327) 02-19 02 : 24 : 24.055 : E / AndroidRuntime (2572) : android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:181) 02-19 02 : 24 : 24.055 : E / AndroidRuntime (2572) : android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:135) 02-19 02 : 24 : 24.055 : E / AndroidRuntime (2572) : android.content.ContentProviderProxy.insert (ContentProviderNative.java : 415) 02-19 02 : 24 : 24.055 : E / AndroidRuntime (2572) : 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 잘못 되었나요? 어떻게 알릴 수 있습니까?