Я рекомендую использовать один из доступных уже созданных Java-планировщиков с открытым исходным кодом: Список планировщиков заданий с открытым исходным кодом в Java
Тот, с кем я знаком, является первым в этом списке: Кварц
... Похоже, кто-то избил меня до этого. (Ответ выше был добавлен, когда я писал этот)
Но просто для быстрого расширения вы можете легко настроить «задания», которые выполняются в фоновом режиме, отдельно от пользователя. Теперь я лично использовал это с веб-сайтами, а не с устройствами, которые пользователи могут выключать и включать. При этом я уверен, что то, что вы пытаетесь сделать, уже решалось, и вы должны попробовать кварц, он, вероятно, может сделать то, что вам нужно.
Удачи,
-Asaf