Posted by Alice Yuan – Developer Relations Engineer, in collaboration with Software Engineers – Matthew Valgenti and Emma Li – at Google
What is user initiated data transfer?
In Android 14 we introduced user-initiated data transfer jobs, or UIDT. You can use the new API setUserInitiated in JobScheduler to specify that the job is a user-initiated data transfer job. This API is helpful for use cases that require long-duration (>10 minutes), user-initiated transfer of data over network. UIDT is also an alternative API to using a dataSync foreground service, which has new timeout behavior for apps that target Android 15.
UIDT is intended to support user initiated use cases such as downloading files from a remote server, uploading files to a remote server or transferring data between two devices via Wi-Fi transport. Since the release of Android 14, the new API has been adopted by a growing number of Android apps running on hundreds of millions of user devices.
What are the benefits if I adopt user-initiated data transfer?
The Android team’s extensive analysis found gaps in foreground services and WorkManager for long duration, user initiated data transfers. Although WorkManager could support retries and constraints, it could not support long duration work which are often necessary for data transfer operations. Developers also found it challenging to use foreground service, which did not provide an ideal user experience during interruption of network connectivity.
JobScheduler’s user initiated data transfer API helps solve for these gaps by offering developers the following benefits:
- Long duration, immediate background work execution that is not impacted by existing job quotas based on app standby buckets.
- Helps improve consistency in API behavior across all devices, and the behavior is enforced through Compatibility Test Suite (CTS).
- Improved reliability of data transfer compared to using a foreground service as indicated by Google Maps own benchmarks.
- Support for execution when certain constraints are met, such as running only on Wi-Fi or only when the device is charging.
- Gracefully manages job timeouts and retries.
- Reduced memory usage and reduced notification clutter when the app is waiting for constraints to be met.
If you’re looking to do short or interruptible background work, WorkManager is still the recommended solution. Check out data transfer background task options to learn more.

Google Maps successfully launched UIDT and saw improvement in download reliability!
Google Maps decided to use UIDT for their offline maps download use case. This use case ensures that users are able to download offline maps so they have map data even when they lose network connectivity.
What was Google Maps’ main motivation for adopting UIDT?
Google Maps decided to adopt UIDT to ensure that the download service works with the latest Android releases and continues to be reliable and efficient.
“We implemented several features and optimizations, such as resumable downloads so that if a user’s internet connection is interrupted or they exit the app before the download is complete, the download resumes from where it left off when the user returns to the app or their connection is restored.” – Emma Li, Software Engineer at Google
What is the trigger point to start UIDT in Google Maps?
The UIDT is triggered when a user decides to download a map region to have that data offline. When a user hits download, the UIDT is triggered immediately and processing of the region begins as soon as possible.
What were Google Maps’ adoption results?
Google Maps rolled out the project using experiment flags to understand metrics impact after each ramp stage.
“We successfully launched UIDT on Android 14 in early 2024 migrating from our foreground service implementation. After a retroactive analysis on Android 14 vs Android 13 implementation, we now see a 10%+ improvement in download failure rate of offline downloads!” – Matthew Valgenti, Software Engineer at Google
How do I get started implementing user initiated data transfer API?
In order to adopt user initiated data transfer, you will need to integrate with the JobScheduler platform API and gate the change to Android 14 or higher.
Check out the following developer documentation to get started with user initiated data transfer:
This blog post is part of our series: Spotlight Week on Android 15, where we provide resources — blog posts, videos, sample code, and more — all designed to help you prepare your apps and take advantage of the latest features in Android 15. You can read more in the overview of Spotlight Week: Android 15, which will be updated throughout the week.
Hey! Do you know if they make any plugins to assist with Search Engine Optimization? I’m trying to get my website to rank for
some targeted keywords but I’m not seeing very good success.
If you know of any please share. Thank you! I saw similar art here: Wool product
Hello! Do you know if they make any plugins to assist with Search Engine
Optimization? I’m trying to get my site to rank for some targeted keywords
but I’m not seeing very good success. If you know of any please share.
Appreciate it! I saw similar article here: Change your life
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.
cost amoxil – https://combamoxi.com/ buy amoxil online cheap
buy amoxil online cheap – amoxicillin online order amoxicillin online
order fluconazole sale – https://gpdifluca.com/# buy cheap generic fluconazole
purchase fluconazole – https://gpdifluca.com/# fluconazole without prescription
cenforce brand – cenforcers.com brand cenforce 100mg
cenforce 100mg sale – https://cenforcers.com/ order generic cenforce 50mg
canada cialis for sale – this does medicare cover cialis
cialis 20 mg duration – https://ciltadgn.com/# over the counter cialis walgreens
free cialis samples – generic cialis why does tadalafil say do not cut pile
buying cialis generic – buy cialis in las vegas tadalafil daily use
ranitidine 150mg pill – aranitidine buy ranitidine 300mg pills
brand zantac 300mg – https://aranitidine.com/ ranitidine buy online
cost of sildenafil 50mg – cheap viagra online in uk viagra 50 mg for sale
cheap viagra super – 100mg sildenafil tablets viagra pfizer 50 mg
I am in fact delighted to gleam at this blog posts which consists of tons of worthwhile facts, thanks towards providing such data. synthroid opiniones
This is the kind of topic I get high on reading. https://gnolvade.com/
This website really has all of the low-down and facts I needed to this subject and didn’t comprehend who to ask. can prednisone cause dry mouth
This is a theme which is forthcoming to my callousness… Many thanks! Unerringly where can I upon the connection details due to the fact that questions? https://ursxdol.com/get-metformin-pills/
This is the kind of advise I unearth helpful. https://ursxdol.com/cenforce-100-200-mg-ed/
Thanks towards putting this up. It’s well done. https://prohnrg.com/product/acyclovir-pills/
I’ll certainly bring to skim more. https://prohnrg.com/product/omeprazole-20-mg/
More articles like this would frame the blogosphere richer. https://aranitidine.com/fr/cialis-super-active/
I am in truth enchant‚e ‘ to glitter at this blog posts which consists of tons of of use facts, thanks object of providing such data. aranitidine