Platform
Android will not run your background work every minute.
The floor is fifteen minutes, it is a floor and not an interval, and there is exactly one way around it. This is what that way costs.
Default floor
15m
or later, batched by WorkManager
Strict floor
1m
on time, for a permanent notification
Fifteen minutes is a constant in the framework, not a setting.
It is PeriodicWorkRequest.MIN_PERIODIC_INTERVAL_MILLIS, it applies to every Android app, and asking for less does not fail. It is quietly rounded up.
That last part is what catches people. Ask WorkManager for a five minute period and nothing throws, nothing warns, and the schedule you get is fifteen. An app that passed the value straight through would show you "every 5 minutes" in its settings forever while checking four times an hour.
Nightbell clamps it where you can see it, which is why Settings has a Checker health section at all. The value you typed and the value Android will honour are both shown, and the app says which one is running. That is not a feature so much as a refusal to lie about arithmetic.
The second half is worse and gets discussed less. Fifteen minutes is a minimum, not a cadence. WorkManager batches wakeups so a phone is not woken forty times an hour by forty apps, so your work fires at fifteen minutes or later, depending on what else was queued, whether the device is in Doze, and how aggressive the manufacturer's own battery layer is. There is no API that asks for "exactly fifteen".
Default, WorkManager
at least 15 minutes, and later when the phone is busy
asked foractually ran
Strict, foreground service
your interval, exactly, down to one minute
every check, on time, for a permanent notification and real battery
A foreground service, which is the only thing that keeps a real cadence.
A foreground service is Android's bargain: your process stays alive and runs on your own schedule, and in exchange the user sees a permanent notification saying so for as long as it runs. There is no version of this where the app gets the cadence and the user does not get the notification, and any app that appears to have managed it is either running a service you have not noticed or is not checking as often as it says.
Nightbell calls it strict monitoring, it is off by default, and turning it on runs the checks from a foreground service, with WorkManager kept underneath only as a repair sweep. Intervals are whole minutes, so a one minute interval is a one minute interval. The cost is exactly what the bargain says: a notification that does not go away, and real battery, because the phone is being woken on your schedule rather than batched into everybody else's.
One thing happens without being asked for, and it is worth knowing about. An urgent outage that has not been acknowledged starts that same service on its own, whatever the setting says, and stops it the moment you acknowledge or the monitor recovers. An alarm that is supposed to keep sounding until you deal with it cannot be subject to being scheduled fifteen minutes from now.
From Android 14 the service has to say what kind it is, and the honest answer costs a store listing.
Android 14 made every foreground service declare a type. The obvious one for something that polls the network is dataSync, and it is the wrong one here: from Android 15 dataSync is capped at roughly six hours of runtime a day, after which the system stops the service. For a sync job that is reasonable. For a pager it means the guarantee strict mode exists to make quietly expires in the evening.
So Nightbell declares specialUse, which has no such cap and does have a price: specialUse is the subtype Google Play asks you to justify in review. That is the actual reason there is no Play listing, rather than any of the reasons people usually guess. F-Droid has no such requirement, which is where the app ships, and a direct APK is unaffected.
The app can keep the cadence it promises, or it can be on the Play Store, and it cannot be both without changing what it promises.
Which of the two to actually use, per monitor.
Leave the default on anything where the question is "is this host still there". A fifteen minute check that occasionally lands at twenty two catches a dead host on its next pass, and nobody was going to act on the difference between noticing at 03:14 and noticing at 03:22. This is most monitors, including the one watching your other monitoring.
Turn on strict monitoring when the thing you are watching can fail and recover inside a fifteen minute window, which mostly means a checkout flow, a payment callback or something behind a load balancer that takes one node out at a time. There the gap between checks is the gap in what you can see, and a permanent notification is a fair price for closing it.
The thing not to do is turn it on everywhere because more often sounds better. It wakes the phone for every due check instead of letting Android batch them, and a fleet of hourly monitors running under strict mode is paying a battery cost for a resolution nothing is using.