Class DownloadService
- java.lang.Object
-
- android.content.Context
-
- android.content.ContextWrapper
-
- android.app.Service
-
- com.google.android.exoplayer2.offline.DownloadService
-
- All Implemented Interfaces:
ComponentCallbacks,ComponentCallbacks2
@Deprecated public abstract class DownloadService extends Service
Deprecated.com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.AServicefor downloading media.Apps with target SDK 33 and greater need to add the
android.permission.POST_NOTIFICATIONSpermission to the manifest and request the permission at runtime before starting downloads. Without that permission granted by the user, notifications posted by this service are not displayed. See the official UI guide for more detailed information.
-
-
Field Summary
Fields Modifier and Type Field Description static StringACTION_ADD_DOWNLOADDeprecated.Adds a new download.static StringACTION_INITDeprecated.Starts a download service to resume any ongoing downloads.static StringACTION_PAUSE_DOWNLOADSDeprecated.Pauses all downloads.static StringACTION_REMOVE_ALL_DOWNLOADSDeprecated.Removes all downloads.static StringACTION_REMOVE_DOWNLOADDeprecated.Removes a download.static StringACTION_RESUME_DOWNLOADSDeprecated.Resumes all downloads except those that have a non-zeroDownload.stopReason.static StringACTION_SET_REQUIREMENTSDeprecated.Sets the requirements that need to be met for downloads to progress.static StringACTION_SET_STOP_REASONDeprecated.Sets the stop reason for one or all downloads.static longDEFAULT_FOREGROUND_NOTIFICATION_UPDATE_INTERVALDeprecated.Default foreground notification update interval in milliseconds.static intFOREGROUND_NOTIFICATION_ID_NONEDeprecated.Invalid foreground notification id that can be used to run the service in the background.static StringKEY_CONTENT_IDDeprecated.static StringKEY_DOWNLOAD_REQUESTDeprecated.Key for theDownloadRequestinACTION_ADD_DOWNLOADintents.static StringKEY_FOREGROUNDDeprecated.Key for a boolean extra that can be set on any intent to indicate whether the service was started in the foreground.static StringKEY_REQUIREMENTSDeprecated.Key for theRequirementsinACTION_SET_REQUIREMENTSintents.static StringKEY_STOP_REASONDeprecated.Key for the integer stop reason inACTION_SET_STOP_REASONandACTION_ADD_DOWNLOADintents.-
Fields inherited from class android.app.Service
START_CONTINUATION_MASK, START_FLAG_REDELIVERY, START_FLAG_RETRY, START_NOT_STICKY, START_REDELIVER_INTENT, START_STICKY, START_STICKY_COMPATIBILITY, STOP_FOREGROUND_DETACH, STOP_FOREGROUND_LEGACY, STOP_FOREGROUND_REMOVE
-
Fields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APP_SEARCH_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLOB_STORE_SERVICE, BLUETOOTH_SERVICE, BUGREPORT_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_DIAGNOSTICS_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CROSS_PROFILE_APPS_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_HASH_SERVICE, DISPLAY_SERVICE, DOMAIN_VERIFICATION_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FILE_INTEGRITY_SERVICE, FINGERPRINT_SERVICE, GAME_SERVICE, HARDWARE_PROPERTIES_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCALE_SERVICE, LOCATION_SERVICE, MEDIA_COMMUNICATION_SERVICE, MEDIA_METRICS_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, PEOPLE_SERVICE, PERFORMANCE_HINT_SERVICE, POWER_SERVICE, PRINT_SERVICE, RECEIVER_EXPORTED, RECEIVER_NOT_EXPORTED, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STATUS_BAR_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_IMS_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, TV_INTERACTIVE_APP_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_MANAGER_SERVICE, VIBRATOR_SERVICE, VPN_MANAGEMENT_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
-
Fields inherited from interface android.content.ComponentCallbacks2
TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDownloadService(int foregroundNotificationId)Deprecated.Creates a DownloadService.protectedDownloadService(int foregroundNotificationId, long foregroundNotificationUpdateInterval)Deprecated.Creates a DownloadService.protectedDownloadService(int foregroundNotificationId, long foregroundNotificationUpdateInterval, String channelId, int channelNameResourceId, int channelDescriptionResourceId)Deprecated.Creates a DownloadService.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static IntentbuildAddDownloadIntent(Context context, Class<? extends DownloadService> clazz, DownloadRequest downloadRequest, boolean foreground)Deprecated.Builds anIntentfor adding a new download.static IntentbuildAddDownloadIntent(Context context, Class<? extends DownloadService> clazz, DownloadRequest downloadRequest, int stopReason, boolean foreground)Deprecated.Builds anIntentfor adding a new download.static IntentbuildPauseDownloadsIntent(Context context, Class<? extends DownloadService> clazz, boolean foreground)Deprecated.Builds anIntentto pause all downloads.static IntentbuildRemoveAllDownloadsIntent(Context context, Class<? extends DownloadService> clazz, boolean foreground)Deprecated.Builds anIntentfor removing all downloads.static IntentbuildRemoveDownloadIntent(Context context, Class<? extends DownloadService> clazz, String id, boolean foreground)Deprecated.Builds anIntentfor removing the download with theid.static IntentbuildResumeDownloadsIntent(Context context, Class<? extends DownloadService> clazz, boolean foreground)Deprecated.Builds anIntentfor resuming all downloads.static IntentbuildSetRequirementsIntent(Context context, Class<? extends DownloadService> clazz, Requirements requirements, boolean foreground)Deprecated.Builds anIntentfor setting the requirements that need to be met for downloads to progress.static IntentbuildSetStopReasonIntent(Context context, Class<? extends DownloadService> clazz, String id, int stopReason, boolean foreground)Deprecated.Builds anIntentfor setting the stop reason for one or all downloads.static voidclearDownloadManagerHelpers()Deprecated.Clear all download manager helpers before restarting the service.protected abstract DownloadManagergetDownloadManager()Deprecated.Returns aDownloadManagerto be used to downloaded content.protected abstract NotificationgetForegroundNotification(List<Download> downloads, @com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags int notMetRequirements)Deprecated.Returns a notification to be displayed when this service running in the foreground.protected abstract SchedulergetScheduler()Deprecated.Returns aSchedulerto restart the service when requirements for downloads to continue are met.protected voidinvalidateForegroundNotification()Deprecated.Invalidates the current foreground notification and causesgetForegroundNotification(List, int)to be invoked again if the service isn't stopped.IBinderonBind(Intent intent)Deprecated.ThrowsUnsupportedOperationExceptionbecause this service is not designed to be bound.voidonCreate()Deprecated.voidonDestroy()Deprecated.intonStartCommand(Intent intent, int flags, int startId)Deprecated.voidonTaskRemoved(Intent rootIntent)Deprecated.static voidsendAddDownload(Context context, Class<? extends DownloadService> clazz, DownloadRequest downloadRequest, boolean foreground)Deprecated.Starts the service if not started already and adds a new download.static voidsendAddDownload(Context context, Class<? extends DownloadService> clazz, DownloadRequest downloadRequest, int stopReason, boolean foreground)Deprecated.Starts the service if not started already and adds a new download.static voidsendPauseDownloads(Context context, Class<? extends DownloadService> clazz, boolean foreground)Deprecated.Starts the service if not started already and pauses all downloads.static voidsendRemoveAllDownloads(Context context, Class<? extends DownloadService> clazz, boolean foreground)Deprecated.Starts the service if not started already and removes all downloads.static voidsendRemoveDownload(Context context, Class<? extends DownloadService> clazz, String id, boolean foreground)Deprecated.Starts the service if not started already and removes a download.static voidsendResumeDownloads(Context context, Class<? extends DownloadService> clazz, boolean foreground)Deprecated.Starts the service if not started already and resumes all downloads.static voidsendSetRequirements(Context context, Class<? extends DownloadService> clazz, Requirements requirements, boolean foreground)Deprecated.Starts the service if not started already and sets the requirements that need to be met for downloads to progress.static voidsendSetStopReason(Context context, Class<? extends DownloadService> clazz, String id, int stopReason, boolean foreground)Deprecated.Starts the service if not started already and sets the stop reason for one or all downloads.static voidstart(Context context, Class<? extends DownloadService> clazz)Deprecated.Starts a download service to resume any ongoing downloads.static voidstartForeground(Context context, Class<? extends DownloadService> clazz)Deprecated.Starts the service in the foreground without adding a new download request.-
Methods inherited from class android.app.Service
attachBaseContext, dump, getApplication, getForegroundServiceType, onConfigurationChanged, onLowMemory, onRebind, onStart, onTrimMemory, onUnbind, startForeground, startForeground, stopForeground, stopForeground, stopSelf, stopSelf, stopSelfResult
-
Methods inherited from class android.content.ContextWrapper
bindIsolatedService, bindService, bindService, bindServiceAsUser, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingOrSelfUriPermissions, checkCallingPermission, checkCallingUriPermission, checkCallingUriPermissions, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, checkUriPermissions, clearWallpaper, createAttributionContext, createConfigurationContext, createContext, createContextForSplit, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, createWindowContext, createWindowContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getAttributionSource, getAttributionTag, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDir, getDisplay, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getParams, getResources, getSharedPreferences, getSystemService, getSystemServiceName, getTheme, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, isUiContext, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerComponentCallbacks, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeSelfPermissionsOnKill, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setTheme, setWallpaper, setWallpaper, startActivities, startActivities, startActivity, startActivity, startForegroundService, startInstrumentation, startIntentSender, startIntentSender, startService, stopService, unbindService, unregisterComponentCallbacks, unregisterReceiver, updateServiceGroup
-
Methods inherited from class android.content.Context
getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, revokeSelfPermissionOnKill, sendBroadcastWithMultiplePermissions
-
-
-
-
Field Detail
-
ACTION_INIT
public static final String ACTION_INIT
Deprecated.Starts a download service to resume any ongoing downloads. Extras:KEY_FOREGROUND- SeeKEY_FOREGROUND.
- See Also:
- Constant Field Values
-
ACTION_ADD_DOWNLOAD
public static final String ACTION_ADD_DOWNLOAD
Deprecated.Adds a new download. Extras:KEY_DOWNLOAD_REQUEST- ADownloadRequestdefining the download to be added.KEY_STOP_REASON- An initial stop reason for the download. If omittedDownload.STOP_REASON_NONEis used.KEY_FOREGROUND- SeeKEY_FOREGROUND.
- See Also:
- Constant Field Values
-
ACTION_REMOVE_DOWNLOAD
public static final String ACTION_REMOVE_DOWNLOAD
Deprecated.Removes a download. Extras:KEY_CONTENT_ID- The content id of a download to remove.KEY_FOREGROUND- SeeKEY_FOREGROUND.
- See Also:
- Constant Field Values
-
ACTION_REMOVE_ALL_DOWNLOADS
public static final String ACTION_REMOVE_ALL_DOWNLOADS
Deprecated.Removes all downloads. Extras:KEY_FOREGROUND- SeeKEY_FOREGROUND.
- See Also:
- Constant Field Values
-
ACTION_RESUME_DOWNLOADS
public static final String ACTION_RESUME_DOWNLOADS
Deprecated.Resumes all downloads except those that have a non-zeroDownload.stopReason. Extras:KEY_FOREGROUND- SeeKEY_FOREGROUND.
- See Also:
- Constant Field Values
-
ACTION_PAUSE_DOWNLOADS
public static final String ACTION_PAUSE_DOWNLOADS
Deprecated.Pauses all downloads. Extras:KEY_FOREGROUND- SeeKEY_FOREGROUND.
- See Also:
- Constant Field Values
-
ACTION_SET_STOP_REASON
public static final String ACTION_SET_STOP_REASON
Deprecated.Sets the stop reason for one or all downloads. To clear the stop reason, passDownload.STOP_REASON_NONE. Extras:KEY_CONTENT_ID- The content id of a single download to update with the stop reason. If omitted, all downloads will be updated.KEY_STOP_REASON- An application provided reason for stopping the download or downloads, orDownload.STOP_REASON_NONEto clear the stop reason.KEY_FOREGROUND- SeeKEY_FOREGROUND.
- See Also:
- Constant Field Values
-
ACTION_SET_REQUIREMENTS
public static final String ACTION_SET_REQUIREMENTS
Deprecated.Sets the requirements that need to be met for downloads to progress. Extras:KEY_REQUIREMENTS- ARequirements.KEY_FOREGROUND- SeeKEY_FOREGROUND.
- See Also:
- Constant Field Values
-
KEY_DOWNLOAD_REQUEST
public static final String KEY_DOWNLOAD_REQUEST
Deprecated.Key for theDownloadRequestinACTION_ADD_DOWNLOADintents.- See Also:
- Constant Field Values
-
KEY_CONTENT_ID
public static final String KEY_CONTENT_ID
Deprecated.- See Also:
- Constant Field Values
-
KEY_STOP_REASON
public static final String KEY_STOP_REASON
Deprecated.Key for the integer stop reason inACTION_SET_STOP_REASONandACTION_ADD_DOWNLOADintents.- See Also:
- Constant Field Values
-
KEY_REQUIREMENTS
public static final String KEY_REQUIREMENTS
Deprecated.Key for theRequirementsinACTION_SET_REQUIREMENTSintents.- See Also:
- Constant Field Values
-
KEY_FOREGROUND
public static final String KEY_FOREGROUND
Deprecated.Key for a boolean extra that can be set on any intent to indicate whether the service was started in the foreground. If set, the service is guaranteed to callService.startForeground(int, Notification).- See Also:
- Constant Field Values
-
FOREGROUND_NOTIFICATION_ID_NONE
public static final int FOREGROUND_NOTIFICATION_ID_NONE
Deprecated.Invalid foreground notification id that can be used to run the service in the background.- See Also:
- Constant Field Values
-
DEFAULT_FOREGROUND_NOTIFICATION_UPDATE_INTERVAL
public static final long DEFAULT_FOREGROUND_NOTIFICATION_UPDATE_INTERVAL
Deprecated.Default foreground notification update interval in milliseconds.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DownloadService
protected DownloadService(int foregroundNotificationId)
Deprecated.Creates a DownloadService.If
foregroundNotificationIdisFOREGROUND_NOTIFICATION_ID_NONEthen the service will only ever run in the background, and no foreground notification will be displayed.If
foregroundNotificationIdis notFOREGROUND_NOTIFICATION_ID_NONEthen the service will run in the foreground. The foreground notification will be updated at least as often as the interval specified byDEFAULT_FOREGROUND_NOTIFICATION_UPDATE_INTERVAL.- Parameters:
foregroundNotificationId- The notification id for the foreground notification, orFOREGROUND_NOTIFICATION_ID_NONEif the service should only ever run in the background.
-
DownloadService
protected DownloadService(int foregroundNotificationId, long foregroundNotificationUpdateInterval)Deprecated.Creates a DownloadService.- Parameters:
foregroundNotificationId- The notification id for the foreground notification, orFOREGROUND_NOTIFICATION_ID_NONEif the service should only ever run in the background.foregroundNotificationUpdateInterval- The maximum interval between updates to the foreground notification, in milliseconds. Ignored ifforegroundNotificationIdisFOREGROUND_NOTIFICATION_ID_NONE.
-
DownloadService
protected DownloadService(int foregroundNotificationId, long foregroundNotificationUpdateInterval, @Nullable String channelId, @StringRes int channelNameResourceId, @StringRes int channelDescriptionResourceId)Deprecated.Creates a DownloadService.- Parameters:
foregroundNotificationId- The notification id for the foreground notification, orFOREGROUND_NOTIFICATION_ID_NONEif the service should only ever run in the background.foregroundNotificationUpdateInterval- The maximum interval between updates to the foreground notification, in milliseconds. Ignored ifforegroundNotificationIdisFOREGROUND_NOTIFICATION_ID_NONE.channelId- An id for a low priority notification channel to create, ornullif the app will take care of creating a notification channel if needed. If specified, must be unique per package. The value may be truncated if it's too long. Ignored ifforegroundNotificationIdisFOREGROUND_NOTIFICATION_ID_NONE.channelNameResourceId- A string resource identifier for the user visible name of the notification channel. The recommended maximum length is 40 characters. The value may be truncated if it's too long. Ignored ifchannelIdis null or ifforegroundNotificationIdisFOREGROUND_NOTIFICATION_ID_NONE.channelDescriptionResourceId- A string resource identifier for the user visible description of the notification channel, or 0 if no description is provided. The recommended maximum length is 300 characters. The value may be truncated if it is too long. Ignored ifchannelIdis null or ifforegroundNotificationIdisFOREGROUND_NOTIFICATION_ID_NONE.
-
-
Method Detail
-
buildAddDownloadIntent
public static Intent buildAddDownloadIntent(Context context, Class<? extends DownloadService> clazz, DownloadRequest downloadRequest, boolean foreground)
Deprecated.Builds anIntentfor adding a new download.- Parameters:
context- AContext.clazz- The concrete download service being targeted by the intent.downloadRequest- The request to be executed.foreground- Whether this intent will be used to start the service in the foreground.- Returns:
- The created intent.
-
buildAddDownloadIntent
public static Intent buildAddDownloadIntent(Context context, Class<? extends DownloadService> clazz, DownloadRequest downloadRequest, int stopReason, boolean foreground)
Deprecated.Builds anIntentfor adding a new download.- Parameters:
context- AContext.clazz- The concrete download service being targeted by the intent.downloadRequest- The request to be executed.stopReason- An initial stop reason for the download, orDownload.STOP_REASON_NONEif the download should be started.foreground- Whether this intent will be used to start the service in the foreground.- Returns:
- The created intent.
-
buildRemoveDownloadIntent
public static Intent buildRemoveDownloadIntent(Context context, Class<? extends DownloadService> clazz, String id, boolean foreground)
Deprecated.Builds anIntentfor removing the download with theid.- Parameters:
context- AContext.clazz- The concrete download service being targeted by the intent.id- The content id.foreground- Whether this intent will be used to start the service in the foreground.- Returns:
- The created intent.
-
buildRemoveAllDownloadsIntent
public static Intent buildRemoveAllDownloadsIntent(Context context, Class<? extends DownloadService> clazz, boolean foreground)
Deprecated.Builds anIntentfor removing all downloads.- Parameters:
context- AContext.clazz- The concrete download service being targeted by the intent.foreground- Whether this intent will be used to start the service in the foreground.- Returns:
- The created intent.
-
buildResumeDownloadsIntent
public static Intent buildResumeDownloadsIntent(Context context, Class<? extends DownloadService> clazz, boolean foreground)
Deprecated.Builds anIntentfor resuming all downloads.- Parameters:
context- AContext.clazz- The concrete download service being targeted by the intent.foreground- Whether this intent will be used to start the service in the foreground.- Returns:
- The created intent.
-
buildPauseDownloadsIntent
public static Intent buildPauseDownloadsIntent(Context context, Class<? extends DownloadService> clazz, boolean foreground)
Deprecated.Builds anIntentto pause all downloads.- Parameters:
context- AContext.clazz- The concrete download service being targeted by the intent.foreground- Whether this intent will be used to start the service in the foreground.- Returns:
- The created intent.
-
buildSetStopReasonIntent
public static Intent buildSetStopReasonIntent(Context context, Class<? extends DownloadService> clazz, @Nullable String id, int stopReason, boolean foreground)
Deprecated.Builds anIntentfor setting the stop reason for one or all downloads. To clear the stop reason, passDownload.STOP_REASON_NONE.- Parameters:
context- AContext.clazz- The concrete download service being targeted by the intent.id- The content id, ornullto set the stop reason for all downloads.stopReason- An application defined stop reason.foreground- Whether this intent will be used to start the service in the foreground.- Returns:
- The created intent.
-
buildSetRequirementsIntent
public static Intent buildSetRequirementsIntent(Context context, Class<? extends DownloadService> clazz, Requirements requirements, boolean foreground)
Deprecated.Builds anIntentfor setting the requirements that need to be met for downloads to progress.- Parameters:
context- AContext.clazz- The concrete download service being targeted by the intent.requirements- ARequirements.foreground- Whether this intent will be used to start the service in the foreground.- Returns:
- The created intent.
-
sendAddDownload
public static void sendAddDownload(Context context, Class<? extends DownloadService> clazz, DownloadRequest downloadRequest, boolean foreground)
Deprecated.Starts the service if not started already and adds a new download.- Parameters:
context- AContext.clazz- The concrete download service to be started.downloadRequest- The request to be executed.foreground- Whether the service is started in the foreground.
-
sendAddDownload
public static void sendAddDownload(Context context, Class<? extends DownloadService> clazz, DownloadRequest downloadRequest, int stopReason, boolean foreground)
Deprecated.Starts the service if not started already and adds a new download.- Parameters:
context- AContext.clazz- The concrete download service to be started.downloadRequest- The request to be executed.stopReason- An initial stop reason for the download, orDownload.STOP_REASON_NONEif the download should be started.foreground- Whether the service is started in the foreground.
-
sendRemoveDownload
public static void sendRemoveDownload(Context context, Class<? extends DownloadService> clazz, String id, boolean foreground)
Deprecated.Starts the service if not started already and removes a download.- Parameters:
context- AContext.clazz- The concrete download service to be started.id- The content id.foreground- Whether the service is started in the foreground.
-
sendRemoveAllDownloads
public static void sendRemoveAllDownloads(Context context, Class<? extends DownloadService> clazz, boolean foreground)
Deprecated.Starts the service if not started already and removes all downloads.- Parameters:
context- AContext.clazz- The concrete download service to be started.foreground- Whether the service is started in the foreground.
-
sendResumeDownloads
public static void sendResumeDownloads(Context context, Class<? extends DownloadService> clazz, boolean foreground)
Deprecated.Starts the service if not started already and resumes all downloads.- Parameters:
context- AContext.clazz- The concrete download service to be started.foreground- Whether the service is started in the foreground.
-
sendPauseDownloads
public static void sendPauseDownloads(Context context, Class<? extends DownloadService> clazz, boolean foreground)
Deprecated.Starts the service if not started already and pauses all downloads.- Parameters:
context- AContext.clazz- The concrete download service to be started.foreground- Whether the service is started in the foreground.
-
sendSetStopReason
public static void sendSetStopReason(Context context, Class<? extends DownloadService> clazz, @Nullable String id, int stopReason, boolean foreground)
Deprecated.Starts the service if not started already and sets the stop reason for one or all downloads. To clear stop reason, passDownload.STOP_REASON_NONE.- Parameters:
context- AContext.clazz- The concrete download service to be started.id- The content id, ornullto set the stop reason for all downloads.stopReason- An application defined stop reason.foreground- Whether the service is started in the foreground.
-
sendSetRequirements
public static void sendSetRequirements(Context context, Class<? extends DownloadService> clazz, Requirements requirements, boolean foreground)
Deprecated.Starts the service if not started already and sets the requirements that need to be met for downloads to progress.- Parameters:
context- AContext.clazz- The concrete download service to be started.requirements- ARequirements.foreground- Whether the service is started in the foreground.
-
start
public static void start(Context context, Class<? extends DownloadService> clazz)
Deprecated.Starts a download service to resume any ongoing downloads.- Parameters:
context- AContext.clazz- The concrete download service to be started.- See Also:
startForeground(Context, Class)
-
startForeground
public static void startForeground(Context context, Class<? extends DownloadService> clazz)
Deprecated.Starts the service in the foreground without adding a new download request. If there are any not finished downloads and the requirements are met, the service resumes downloading. Otherwise it stops immediately.- Parameters:
context- AContext.clazz- The concrete download service to be started.- See Also:
start(Context, Class)
-
clearDownloadManagerHelpers
public static void clearDownloadManagerHelpers()
Deprecated.Clear all download manager helpers before restarting the service.Calling this method is normally only required if an app supports downloading content for multiple users for which different download directories should be used.
-
onStartCommand
public int onStartCommand(@Nullable Intent intent, int flags, int startId)Deprecated.- Overrides:
onStartCommandin classService
-
onTaskRemoved
public void onTaskRemoved(Intent rootIntent)
Deprecated.- Overrides:
onTaskRemovedin classService
-
onBind
@Nullable public final IBinder onBind(Intent intent)
Deprecated.ThrowsUnsupportedOperationExceptionbecause this service is not designed to be bound.
-
getDownloadManager
protected abstract DownloadManager getDownloadManager()
Deprecated.Returns aDownloadManagerto be used to downloaded content. For each concrete download service subclass, this is called once in the lifecycle of the process whenonCreate()is called on the first instance of the service. If the service is destroyed and a new instance is created later, the new instance will use the previously returnedDownloadManagerwithout this method being called again.
-
getScheduler
@Nullable protected abstract Scheduler getScheduler()
Deprecated.Returns aSchedulerto restart the service when requirements for downloads to continue are met.This method is not called on all devices or for all service configurations. When it is called, it's called only once in the life cycle of the process. If a service has unfinished downloads that cannot make progress due to unmet requirements, it will behave according to the first matching case below:
- If the service has
foregroundNotificationIdset toFOREGROUND_NOTIFICATION_ID_NONE, then this method will not be called. The service will remain in the background until the downloads are able to continue to completion or the service is killed by the platform. - If the device API level is less than 31, a
Scheduleris returned from this method, and the returnedSchedulersupportsall of the requirements that have been specified for downloads to continue, then the service will stop itself and theSchedulerwill be used to restart it in the foreground when the requirements are met. - If the device API level is less than 31 and either
nullor aSchedulerthat does notsupportall of the requirements is returned from this method, then the service will remain in the foreground until the downloads are able to continue to completion. - If the device API level is 31 or above, then this method will not be called and the
service will remain in the foreground until the downloads are able to continue to
completion. A
Schedulercannot be used for this case due to Android 12 foreground service launch restrictions.
- If the service has
-
getForegroundNotification
protected abstract Notification getForegroundNotification(List<Download> downloads, @RequirementFlags @com.google.android.exoplayer2.scheduler.Requirements.RequirementFlags int notMetRequirements)
Deprecated.Returns a notification to be displayed when this service running in the foreground.Download services that do not wish to run in the foreground should be created by setting the
foregroundNotificationIdconstructor argument toFOREGROUND_NOTIFICATION_ID_NONE. This method is not called for such services, meaning it can be implemented to throwUnsupportedOperationException.- Parameters:
downloads- The current downloads.notMetRequirements- Any requirements for downloads that are not currently met.- Returns:
- The foreground notification to display.
-
invalidateForegroundNotification
protected final void invalidateForegroundNotification()
Deprecated.Invalidates the current foreground notification and causesgetForegroundNotification(List, int)to be invoked again if the service isn't stopped.
-
-