DownloadManager Class

Definition

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
DownloadManager
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 android.Manifest.permission#INTERNET permission to use this class.

Java documentation 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

DownloadManager(IntPtr, JniHandleOwnership)

A constructor used when creating managed representations of JNI objects; called by the runtime.

Fields

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 System.currentTimeMillis() (wall clock time in UTC).

ColumnLocalFilename

Path to the downloaded file on disk.

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

Class

Returns the runtime class of this Object.

(Inherited from Object)
Handle

The handle to the underlying Android instance.

(Inherited from Object)
JniIdentityHashCode (Inherited from Object)
JniPeerMembers
PeerReference (Inherited from Object)
ThresholdClass

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

ThresholdType

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

Methods

AddCompletedDownload(String, String, Boolean, String, String, Int64, Boolean)

Adds a file to the downloads database system, so it could appear in Downloads App (and thus become eligible for management by the Downloads App).

AddCompletedDownload(String, String, Boolean, String, String, Int64, Boolean, Uri, Uri)

Adds a file to the downloads database system, so it could appear in Downloads App (and thus become eligible for management by the Downloads App).

Clone()

Creates and returns a copy of this object.

(Inherited from Object)
Dispose() (Inherited from Object)
Dispose(Boolean) (Inherited from Object)
Enqueue(DownloadManager+Request)

Enqueue a new download.

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)
ToArray<T>() (Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime() (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)

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

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Object)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Object)
IJavaPeerable.Finalized() (Inherited from Object)
IJavaPeerable.JniManagedPeerState (Inherited from Object)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Object)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Object)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Applies to