Ich versuche, die DownloadManager
zu verwenden, um große PDF-Dateien von meiner App herunterzuladen. Ich möchte, dass Benachrichtigungen sowohl beim Download als auch beim Download angezeigt werden. Die Einstellung der Sichtbarkeit verursacht jedoch eine Ausnahme.DownloadManager.Request.setNotificationVisibility schlägt mit jSecurityException fehl: ungültiger Wert für Sichtbarkeit: 1
Dieser Fehler unterscheidet sich von diesem Beitrag DownloadManager.Request.setNotificationVisibility fails with jSecurityException: invalid value for visibility: 2
Die andere Stelle ist um Hilfe zu bitten, wenn die Sichtbarkeit zu VISIBILITY_HIDDEN
Einstellung für die Sie eine Berechtigung im Manifest müssen. Ich versuche, um die Sichtbarkeit zu DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED
wie so einzustellen:
public class DMnotifyTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DownloadManager mgr = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
long downloadID = mgr
.enqueue(new DownloadManager.Request(Uri.parse("http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf"))
.setNotificationVisibility(
DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "hello.pdf")
.setDescription("my.test.pack Doc"));
}
}
die in diesem stacktrace Ergebnisse:
E/AndroidRuntime(24794): Caused by: java.lang.SecurityException: Invalid value for visibility: 1
E/AndroidRuntime(24794): at android.os.Parcel.readException(Parcel.java:1321)
E/AndroidRuntime(24794): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:182)
E/AndroidRuntime(24794): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:136)
E/AndroidRuntime(24794): at android.content.ContentProviderProxy.insert(ContentProviderNative.java:447)
E/AndroidRuntime(24794): at android.content.ContentResolver.insert(ContentResolver.java:721)
E/AndroidRuntime(24794): at android.app.DownloadManager.enqueue(DownloadManager.java:877)
E/AndroidRuntime(24794): at my.test.pack.DMnotifyTestActivity.onCreate(DMnotifyTestActivity.java:18)
Ohne Sichtbarkeit Einstellung der Code funktioniert einwandfrei. Ich habe bereits versucht, dem Manifest verschiedene Berechtigungen hinzuzufügen, aber immer noch nicht. Dies zielt auf Stufe 11, also wabenartig und hoch. Berechtigungen ich versucht habe, sind:
- android.permission.DOWNLOAD_WITHOUT_NOTIFICATION
- android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS
- android.permission.ACCESS_DOWNLOAD_MANAGER
- android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED
Ich habe das gleiche Problem. Wer kann das beleuchten? – dnkoutso
Leider ist dies ein Android-Fehler. Sie können nicht viel tun, wenn Sie den Code von Google nicht selbst korrigieren möchten. – Marc