Android APIs
public static class

DownloadManager.Request

extends Object
java.lang.Object
   ↳ android.app.DownloadManager.Request

Class Overview

This class contains all the information necessary to request a new download. The URI is the only required parameter. Note that the default download destination is a shared volume where the system might delete your file if it needs to reclaim space for system use. If this is a problem, use a location on external storage (see setDestinationUri(Uri).

Summary

Constants
int NETWORK_MOBILE Bit flag for setAllowedNetworkTypes(int) corresponding to TYPE_MOBILE.
int NETWORK_WIFI Bit flag for setAllowedNetworkTypes(int) corresponding to TYPE_WIFI.
int VISIBILITY_HIDDEN This download doesn't show in the UI or in the notifications.
int VISIBILITY_VISIBLE This download is visible but only shows in the notifications while it's in progress.
int VISIBILITY_VISIBLE_NOTIFY_COMPLETED This download is visible and shows in the notifications while in progress and after completion.
int VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION This download shows in the notifications after completion ONLY.
Public Constructors
DownloadManager.Request(Uri uri)
Public Methods
DownloadManager.Request addRequestHeader(String header, String value)
Add an HTTP header to be included with the download request.
void allowScanningByMediaScanner()
If the file to be downloaded is to be scanned by MediaScanner, this method should be called before enqueue(Request) is called.
DownloadManager.Request setAllowedNetworkTypes(int flags)
Restrict the types of networks over which this download may proceed.
DownloadManager.Request setAllowedOverMetered(boolean allow)
Set whether this download may proceed over a metered network connection.
DownloadManager.Request setAllowedOverRoaming(boolean allowed)
Set whether this download may proceed over a roaming connection.
DownloadManager.Request setDescription(CharSequence description)
Set a description of this download, to be displayed in notifications (if enabled)
DownloadManager.Request setDestinationInExternalFilesDir(Context context, String dirType, String subPath)
Set the local destination for the downloaded file to a path within the application's external files directory (as returned by getExternalFilesDir(String).
DownloadManager.Request setDestinationInExternalPublicDir(String dirType, String subPath)
Set the local destination for the downloaded file to a path within the public external storage directory (as returned by getExternalStoragePublicDirectory(String)).
DownloadManager.Request setDestinationUri(Uri uri)
Set the local destination for the downloaded file.
DownloadManager.Request setMimeType(String mimeType)
Set the MIME content type of this download.
DownloadManager.Request setNotificationVisibility(int visibility)
Control whether a system notification is posted by the download manager while this download is running or when it is completed.
DownloadManager.Request setShowRunningNotification(boolean show)
This method was deprecated in API level 11. use setNotificationVisibility(int)
DownloadManager.Request setTitle(CharSequence title)
Set the title of this download, to be displayed in notifications (if enabled).
DownloadManager.Request setVisibleInDownloadsUi(boolean isVisible)
Set whether this download should be displayed in the system's Downloads UI.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int NETWORK_MOBILE

Added in API level 9

Bit flag for setAllowedNetworkTypes(int) corresponding to TYPE_MOBILE.

Constant Value: 1 (0x00000001)

public static final int NETWORK_WIFI

Added in API level 9

Bit flag for setAllowedNetworkTypes(int) corresponding to TYPE_WIFI.

Constant Value: 2 (0x00000002)

public static final int VISIBILITY_HIDDEN

Added in API level 11

This download doesn't show in the UI or in the notifications.

Constant Value: 2 (0x00000002)

public static final int VISIBILITY_VISIBLE

Added in API level 11

This download is visible but only shows in the notifications while it's in progress.

Constant Value: 0 (0x00000000)

public static final int VISIBILITY_VISIBLE_NOTIFY_COMPLETED

Added in API level 11

This download is visible and shows in the notifications while in progress and after completion.

Constant Value: 1 (0x00000001)

public static final int VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION

Added in API level 12

This download shows in the notifications after completion ONLY. It is usuable only with addCompletedDownload(String, String, boolean, String, String, long, boolean).

Constant Value: 3 (0x00000003)

Public Constructors

public DownloadManager.Request (Uri uri)

Added in API level 9

Parameters
uri the HTTP or HTTPS URI to download.

Public Methods

public DownloadManager.Request addRequestHeader (String header, String value)

Added in API level 9

Add an HTTP header to be included with the download request. The header will be added to the end of the list.

Parameters
header HTTP header name
value header value
Returns
  • this object

public void allowScanningByMediaScanner ()

Added in API level 11

If the file to be downloaded is to be scanned by MediaScanner, this method should be called before enqueue(Request) is called.

public DownloadManager.Request setAllowedNetworkTypes (int flags)

Added in API level 9

Restrict the types of networks over which this download may proceed. By default, all network types are allowed. Consider using setAllowedOverMetered(boolean) instead, since it's more flexible.

Parameters
flags any combination of the NETWORK_* bit flags.
Returns
  • this object

public DownloadManager.Request setAllowedOverMetered (boolean allow)

Added in API level 16

Set whether this download may proceed over a metered network connection. By default, metered networks are allowed.

public DownloadManager.Request setAllowedOverRoaming (boolean allowed)

Added in API level 9

Set whether this download may proceed over a roaming connection. By default, roaming is allowed.

Parameters
allowed whether to allow a roaming connection to be used
Returns
  • this object

public DownloadManager.Request setDescription (CharSequence description)

Added in API level 9

Set a description of this download, to be displayed in notifications (if enabled)

Returns
  • this object

public DownloadManager.Request setDestinationInExternalFilesDir (Context context, String dirType, String subPath)

Added in API level 9

Set the local destination for the downloaded file to a path within the application's external files directory (as returned by getExternalFilesDir(String).

The downloaded file is not scanned by MediaScanner. But it can be made scannable by calling allowScanningByMediaScanner().

Parameters
context the Context to use in determining the external files directory
dirType the directory type to pass to getExternalFilesDir(String)
subPath the path within the external directory, including the destination filename
Returns
  • this object
Throws
IllegalStateException If the external storage directory cannot be found or created.

public DownloadManager.Request setDestinationInExternalPublicDir (String dirType, String subPath)

Added in API level 9

Set the local destination for the downloaded file to a path within the public external storage directory (as returned by getExternalStoragePublicDirectory(String)).

The downloaded file is not scanned by MediaScanner. But it can be made scannable by calling allowScanningByMediaScanner().

Parameters
dirType the directory type to pass to getExternalStoragePublicDirectory(String)
subPath the path within the external directory, including the destination filename
Returns
  • this object
Throws
IllegalStateException If the external storage directory cannot be found or created.

public DownloadManager.Request setDestinationUri (Uri uri)

Added in API level 9

Set the local destination for the downloaded file. Must be a file URI to a path on external storage, and the calling application must have the WRITE_EXTERNAL_STORAGE permission.

The downloaded file is not scanned by MediaScanner. But it can be made scannable by calling allowScanningByMediaScanner().

By default, downloads are saved to a generated filename in the shared download cache and may be deleted by the system at any time to reclaim space.

Returns
  • this object

public DownloadManager.Request setMimeType (String mimeType)

Added in API level 9

Set the MIME content type of this download. This will override the content type declared in the server's response.

Returns
  • this object

public DownloadManager.Request setNotificationVisibility (int visibility)

Added in API level 11

Control whether a system notification is posted by the download manager while this download is running or when it is completed. If enabled, the download manager posts notifications about downloads through the system NotificationManager. By default, a notification is shown only when the download is in progress.

It can take the following values: VISIBILITY_HIDDEN, VISIBILITY_VISIBLE, VISIBILITY_VISIBLE_NOTIFY_COMPLETED.

If set to VISIBILITY_HIDDEN, this requires the permission android.permission.DOWNLOAD_WITHOUT_NOTIFICATION.

Parameters
visibility the visibility setting value
Returns
  • this object

public DownloadManager.Request setShowRunningNotification (boolean show)

Added in API level 9

This method was deprecated in API level 11.
use setNotificationVisibility(int)

Control whether a system notification is posted by the download manager while this download is running. If enabled, the download manager posts notifications about downloads through the system NotificationManager. By default, a notification is shown. If set to false, this requires the permission android.permission.DOWNLOAD_WITHOUT_NOTIFICATION.

Parameters
show whether the download manager should show a notification for this download.
Returns
  • this object

public DownloadManager.Request setTitle (CharSequence title)

Added in API level 9

Set the title of this download, to be displayed in notifications (if enabled). If no title is given, a default one will be assigned based on the download filename, once the download starts.

Returns
  • this object

public DownloadManager.Request setVisibleInDownloadsUi (boolean isVisible)

Added in API level 9

Set whether this download should be displayed in the system's Downloads UI. True by default.

Parameters
isVisible whether to display this download in the Downloads UI
Returns
  • this object