Crypto price widget for Android: what to expect from one
A crypto price widget Android draws on your home screen refreshes on the system's schedule, not the app's. Google's Glance documentation sets the floor: updatePeriodMillis updates a widget "up to once every 30 minutes", and an app that needs to be quicker has to "use WorkManager to schedule more frequent updates, such as every 15 minutes" (Create an app widget with Glance).
Key takeaways
- Periodic updates are capped at once every 30 minutes; a WorkManager job can reach about every 15 minutes; opening the app refreshes immediately.
- CoinGecko documents its price cache as every 60 seconds on the keyless tier and every 20 seconds on the paid one, so a widget figure is typically a minute-old quote refreshed on a schedule measured in tens of minutes.
- The last-updated time is worth more than the price above it. No timestamp is a reason for suspicion.
- With no network the widget keeps drawing its last values and the timestamp stops moving. Quantities you typed do not depend on a connection, and Holdtotal's token search works offline.
- Google advises developers against updating a widget every minute when the app is not awake, because frequent updates drain the battery.
So the number you glance at is a recent snapshot rather than a live feed.
Any crypto price widget Android runs lives inside that scheduling system. This article covers what the refresh cadence means for a portfolio number on your home screen, how to read a last-updated time, and why a widget that polls every minute is a battery problem. It is information about how Android behaves, not financial advice, and it does not cover writing widget code.
How often does a price widget really update?
A widget updates on three separate occasions, and only one of them is fast. Google's documentation splits them apart: a widget "can update immediately when your app is awake" — a tap, a lambda call, an intent — and "can update periodically when your app isn't awake", which is where the 30-minute and 15-minute figures apply. The third case is a broadcast the app subscribes to.
| Trigger | Typical cadence | Who decides |
|---|---|---|
| You open the app or tap the widget | Immediate | You |
updatePeriodMillis | Up to once every 30 minutes | Android |
A WorkManager job | As often as every 15 minutes | The app, within system limits |
| Broadcast (network back, unlock, time change) | Event-driven | The system |
The practical reading: a crypto price widget android schedules like every other widget is accurate to the last refresh, not to the second. Two phones sitting side by side can show different totals for a few minutes and both be behaving correctly.
What the last-updated time is telling you
A last-updated label is the widget's honesty mechanism, and it is worth more than the price above it. The number came from a market data API at that moment, and it has been sitting there ever since.
There is a second delay behind the first one. CoinGecko's public documentation for the simple price endpoint lists its cache and update frequency as "Every 20 seconds (Paid API)" and "Every 60 seconds (Demo / Keyless API)", and documents an optional include_last_updated_at parameter that adds the "last updated price time as a UNIX timestamp" (Coin Price by IDs). The same page notes that the 24-hour change field returns null if the value is stale. Stacking the two delays gives the real answer: a widget figure is typically a one-minute-old quote, refreshed on a schedule measured in tens of minutes.
Holdtotal shows the total in dollars or in bitcoin with the 24-hour change beside it, and treats an unverifiable value as unknown — a dash, not a zero. A tracker that silently prints 0.00% when the fetch failed is telling you a comfortable lie.
What happens when the phone has no network
With no connection, a widget keeps drawing its last known values and the last-updated time stops moving. Nothing is wrong; the widget has nothing newer to draw. Three things follow from that:
- Prices go stale, quantities do not. Your holdings are numbers you typed in. They do not depend on a network at all.
- The timestamp is the tell. If the total looks wrong, read the time under it before assuming the app is broken.
- Search can still work offline. Holdtotal keeps its token list on the device, so finding a ticker does not require a connection; only the prices do.
Holdings entered in Holdtotal are stored on the phone itself, with one caveat worth stating: Android Auto Backup can copy app data to your Google account unless you turn it off in system settings. That is a real copy, off the device, and any tracker that claims otherwise without mentioning backup is overstating its case. The same distinction runs through what "no sign-up" actually means.
Why constant polling is a battery problem
Google's guidance is a single sentence: "Avoid updating your widget every minute when the app isn't awake, as frequent updates drain your users' battery." Each refresh wakes a process, opens a network connection, does a round trip and redraws. Multiply that by twenty tokens and a one-minute cadence and the widget becomes one of the heavier things on the phone, in exchange for numbers you were not looking at.
The system limits exist because widget authors, left alone, would poll far more often than anyone needs. A price you check three times a day does not benefit from 1,440 refreshes.
What to check before you trust a widget number
- Find the last-updated time. No timestamp is a reason for suspicion, not convenience.
- Pull down or tap to force a refresh before acting on anything, since the in-app fetch is the immediate path.
- Check what the widget rounds. A total shown to the dollar hides cents; a percentage shown to one decimal hides the rest.
- Compare against a second source once, not continuously. Two apps disagreeing by a fraction of a percent is a cache difference, not an error.
Setting one up takes about two minutes, and the walkthrough for the Holdtotal widget on Android covers the placement step by step. Adding the widget itself is a launcher operation rather than an app one: Google's Android Help describes it as touch and hold an empty space on a Home screen, tap Widgets, find the app, then "touch and hold a widget" and slide it into place (Add apps, shortcuts & widgets to your Home screens).
Holdtotal is a manual tracker: you type in what you hold, the app totals it, and it does not buy, sell or trade anything on your behalf. If that model is new to you, tracking a portfolio without connecting a wallet explains the trade offs, and the Holdtotal home page lists what the Android app covers.
FAQ
Why does my widget show a different price than the app?
The app fetches when you open it; the widget draws whatever it last received on the system schedule, which Google caps at once every 30 minutes for periodic updates. Opening the app refreshes immediately, so for a few minutes the two surfaces can legitimately disagree. Compare the last-updated times rather than the prices, and the gap explains itself.
Can a widget update every second?
No. Android schedules periodic widget updates and Google's documentation explicitly advises against per-minute refreshes when the app is not awake, because of battery cost. Real-time streaming to a home screen is not something the widget system is built to do. A widget is a glanceable summary, and treating it as a trading screen misreads what it is.
Does the widget work without an internet connection?
The widget keeps showing its last fetched prices and its last-updated time stops advancing. Your quantities are stored on the device, so the composition of the portfolio is intact; only the valuation is stale. When the connection returns, the next scheduled update or your next visit to the app brings the prices current.