
Keep it up checks network services periodically by sending a ping, connecting to a specific port or downloading a site. It can also be used to ensure a connection with a timeout will be kept alive.
Features- Create multiple separate network tasks
- One task monitors one network service at a specified interval
- A task sends a specified number of pings, performs a specified number of connections attempts or downloads a file or a site
- Successful and unsuccessful attempts are logged
- Downloaded files can automatically be deleted after a successful download or be kept
- Notifications can be sent on failure or when a network service goes down or up
- A network task can be restricted to WiFi connections, i.e. it does not perform any action on mobile networks with potentially limited download data
- The configuration can be exported and imported as a JSON data file
- Intervals can be defined during which all background work is suspended for battery saving
Permissions-
RECEIVE_BOOT_COMPLETED for restarting running networks tasks on device boot
-
ACCESS_NETWORK_STATE for checking network accessibility
-
INTERNET for accessing the internet
-
WAKE_LOCK to keep the device awake while executing a task
-
FOREGROUND_SERVICE to start the foreground service for running tasks
-
FOREGROUND_SERVICE_DATA_SYNC to use the foreground service with data transmission
-
USE_EXACT_ALARM to start networks tasks after expiry of intervals (Android 13+)
-
SCHEDULE_EXACT_ALARM to start networks tasks after expiry of intervals (Android 11 and 12)
-
POST_NOTIFICATIONS for sending notifications
NoteThe app uses exact alarms to trigger network task execution. Power consumption during waiting is as high as for a calendar app waiting for reminders to trigger. During execution the power consumption is higher, of course, and short execution intervals cause more overall battery drain.
The app works best if you disable battery optimization. If battery optimization is active, network tasks execution may be unreliable especially for short intervals, i.e. they may trigger less often and the trigger time may not be exact. There is a link in the app leading to the Android battery settings for the app. Of course, with disabled battery optimization power consumption may be higher.
For Android 15+, it is no longer possible (and no longer necessary) to directly disable battery optimization. Android 15+ provides a setting to allow background activity for an app, which is enabled by default. It is strongly recommended to leave it enabled. The app should work without it, but it can lead to unreliable behaviour.
WhatsNew:
* New target API level is 36 (Android 16) with Java 21, applied all required changes
* Added the possibility to use another host for the network connection than the one specified in the URL (similar to the connect-to option of curl)
* It is now possible to set arbitrary HTTP headers which will be sent with requests
* Defined suspension intervals are now deleted on global settings reset
* Host name validation is more strict and consistent now
* Removed the battery optimization dialog for Android