DownloadManager Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The download manager is a system service that handles long-running HTTP downloads.
[Android.Runtime.Register("android/app/DownloadManager", DoNotGenerateAcw=true)]
public class DownloadManager : Java.Lang.Object
[<Android.Runtime.Register("android/app/DownloadManager", DoNotGenerateAcw=true)>]
type DownloadManager = class
inherit Object
- Inheritance
- Attributes
Remarks
The download manager is a system service that handles long-running HTTP downloads. Clients may request that a URI be downloaded to a particular destination file. The download manager will conduct the download in the background, taking care of HTTP interactions and retrying downloads after failures or across connectivity changes and system reboots. Apps that request downloads through this API should register a broadcast receiver for ACTION_NOTIFICATION_CLICKED to appropriately handle when the user clicks on a running download in a notification or from the downloads UI. Note that the application must have the Manifest.permission.INTERNET permission to use this class.
Android reference for android.app.DownloadManager.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
| Name | Description |
|---|---|
| DownloadManager(IntPtr, JniHandleOwnership) |
Initializes a managed representation of an existing Java Native Interface object. |
Fields
| Name | Description |
|---|---|
| ActionDownloadComplete |
Broadcast intent action sent by the download manager when a download completes. |
| ActionNotificationClicked |
Broadcast intent action sent by the download manager when the user clicks on a running download, either from a system notification or from the downloads UI. |
| ActionViewDownloads |
Intent action to launch an activity to display all downloads. |
| ColumnBytesDownloadedSoFar |
Number of bytes download so far. |
| ColumnDescription |
The client-supplied description of this download. |
| ColumnId |
An identifier for a particular download, unique across the system. |
| ColumnLastModifiedTimestamp |
Timestamp when the download was last modified, in System.currentTimeMillis() (wall clock time in UTC). |
| ColumnLocalFilename |
This constant was deprecated in API level 24. |
| ColumnLocalUri |
Uri where downloaded file will be stored. |
| ColumnMediaproviderUri |
The URI to the corresponding entry in MediaProvider for this downloaded entry. |
| ColumnMediaType |
Internet Media Type of the downloaded file. |
| ColumnReason |
Provides more detail on the status of the download. |
| ColumnStatus |
Current status of the download, as one of the STATUS_* constants. |
| ColumnTitle |
The client-supplied title for this download. |
| ColumnTotalSizeBytes |
Total size of the download in bytes. |
| ColumnUri |
URI to be downloaded. |
| ErrorCannotResume |
Obsolete.
Value of COLUMN_REASON when some possibly transient error occurred but we can't resume the download. |
| ErrorDeviceNotFound |
Obsolete.
Value of COLUMN_REASON when no external storage device was found. |
| ErrorFileAlreadyExists |
Obsolete.
Value of COLUMN_REASON when the requested destination file already exists (the download manager will not overwrite an existing file). |
| ErrorFileError |
Obsolete.
Value of COLUMN_REASON when a storage issue arises which doesn't fit under any other error code. |
| ErrorHttpDataError |
Obsolete.
Value of COLUMN_REASON when an error receiving or processing data occurred at the HTTP level. |
| ErrorInsufficientSpace |
Obsolete.
Value of COLUMN_REASON when there was insufficient storage space. |
| ErrorTooManyRedirects |
Obsolete.
Value of COLUMN_REASON when there were too many redirects. |
| ErrorUnhandledHttpCode |
Obsolete.
Value of COLUMN_REASON when an HTTP code was received that download manager can't handle. |
| ErrorUnknown |
Obsolete.
Value of COLUMN_ERROR_CODE when the download has completed with an error that doesn't fit under any other error code. |
| ExtraDownloadId |
Intent extra included with ACTION_DOWNLOAD_COMPLETE intents, indicating the ID (as a long) of the download that just completed. |
| ExtraNotificationClickDownloadIds |
When clicks on multiple notifications are received, the following provides an array of download ids corresponding to the download notification that was clicked. |
| IntentExtrasSortBySize |
Intent extra included with ACTION_VIEW_DOWNLOADS to start DownloadApp in sort-by-size mode. |
| PausedQueuedForWifi |
Obsolete.
Value of COLUMN_REASON when the download exceeds a size limit for downloads over the mobile network and the download manager is waiting for a Wi-Fi connection to proceed. |
| PausedUnknown |
Obsolete.
Value of COLUMN_REASON when the download is paused for some other reason. |
| PausedWaitingForNetwork |
Obsolete.
Value of COLUMN_REASON when the download is waiting for network connectivity to proceed. |
| PausedWaitingToRetry |
Obsolete.
Value of COLUMN_REASON when the download is paused because some network error occurred and the download manager is waiting before retrying the request. |
| StatusFailed |
Obsolete.
Value of COLUMN_STATUS when the download has failed (and will not be retried). |
| StatusPaused |
Obsolete.
Value of COLUMN_STATUS when the download is waiting to retry or resume. |
| StatusPending |
Obsolete.
Value of COLUMN_STATUS when the download is waiting to start. |
| StatusRunning |
Obsolete.
Value of COLUMN_STATUS when the download is currently running. |
| StatusSuccessful |
Obsolete.
Value of COLUMN_STATUS when the download has successfully completed. |
Properties
| Name | Description |
|---|---|
| Class |
Returns the runtime class of this |
| Handle |
The handle to the underlying Android instance. (Inherited from Object) |
| JniIdentityHashCode |
Gets the identity hash code assigned to this Java peer by the interop runtime. (Inherited from Object) |
| JniManagedPeerState | (Inherited from JavaObject) |
| JniPeerMembers |
Provides JNI binding infrastructure for Android.App.DownloadManager. |
| PeerReference |
Gets the JNI object reference for this Java peer. (Inherited from Object) |
| ThresholdClass |
Provides JNI binding infrastructure for Android.App.DownloadManager. |
| ThresholdType |
Provides JNI binding infrastructure for Android.App.DownloadManager. |
Methods
| Name | Description |
|---|---|
| AddCompletedDownload(String, String, Boolean, String, String, Int64, Boolean, Uri, Uri) |
This method was deprecated in API level 29. |
| AddCompletedDownload(String, String, Boolean, String, String, Int64, Boolean) |
This method was deprecated in API level 29. |
| Clone() |
Creates and returns a copy of this object. (Inherited from Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) | (Inherited from JavaObject) |
| Dispose() |
Releases the resources held by this Java peer. (Inherited from Object) |
| Dispose(Boolean) |
Releases the resources held by this Java peer. (Inherited from Object) |
| DisposeUnlessReferenced() | (Inherited from JavaObject) |
| Enqueue(DownloadManager+Request) |
Enqueue a new download. |
| Equals(Object) | (Inherited from JavaObject) |
| Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
| FromContext(Context) | |
| GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
| GetMaxBytesOverMobile(Context) |
Returns maximum size, in bytes, of downloads that may go over a mobile connection; or null if there's no limit |
| GetMimeTypeForDownloadedFile(Int64) |
Returns the media type of the given downloaded file id, if the file was downloaded successfully. |
| GetRecommendedMaxBytesOverMobile(Context) |
Returns recommended maximum size, in bytes, of downloads that may go over a mobile connection; or null if there's no recommended limit. |
| GetUriForDownloadedFile(Int64) |
Returns the Uri of the given downloaded file id, if the file is downloaded successfully. |
| InvokeQuery(DownloadManager+Query) |
Query the download manager about downloads that have been requested. |
| JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
| Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
| NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
| OpenDownloadedFile(Int64) |
Open a downloaded file for reading. |
| Remove(Int64[]) |
Cancel downloads and remove them from the download manager. |
| SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) | (Inherited from JavaObject) |
| ToArray<T>() |
Creates a managed array from this Java array wrapper. (Inherited from Object) |
| ToString() |
Returns a string representation of the object. (Inherited from Object) |
| UnregisterFromRuntime() |
Unregisters this Java peer from the interop runtime. (Inherited from Object) |
| Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
| Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
| Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Explicit Interface Implementations
| Name | Description |
|---|---|
| IJavaPeerable.Disposed() | (Inherited from JavaObject) |
| IJavaPeerable.Finalized() | (Inherited from JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock | (Inherited from JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from JavaObject) |
Extension Methods
| Name | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Gets the JNI name of the type of the instance |
| JavaAs<TResult>(IJavaPeerable) |
Try to coerce |
| JavaCast<TResult>(IJavaObject) |
Performs an Android runtime-checked type conversion. |
| JavaCast<TResult>(IJavaObject) | |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Try to coerce |