Android on Chrome OS: AlarmManager/JobScheduler Broken
previously did not work,
are now working. The exception is if the Chrome OS device is
asleep (e.g., lid closed) — in that case, alarms and jobs will
not fire. This includes any
In my preliminary testing, things worked fairly well, with one glaring
JobScheduler. You can set up all the
alarm events and jobs that you want. None will be run. You can have a
process still running, and the work will not be done. You can even
still be the foreground window, and the work still will not be done.
It is unclear if this is a bug, a temporary issue during the developer preview period, or an undocumented regression from Android norms. But I tried lots of different combinations (e.g., repeating and one-shot alarms) with no luck. Apps that work perfectly fine on a regular Android 6.0 device (e.g., a Nexus 5) just never have their periodic work done on Android-equipped Chrome OS.
Since we do not have official guidance for detecting whether we are on Chrome OS or not, we have no good way of letting the user know about this issue.
So long as you have a process running, in-process periodic work
ScheduledExecutorService) runs just fine.
With luck, not only will this get fixed, but perhaps we will be told officially how to file bug reports. I am rather confident that the Android issue tracker will punt on any Chrome OS-related issues, and the Chromium issue tracker is optimized for browser issues, not Chrome OS issues, let alone Android-on-Chrome OS issues.
Stuck on an Android problem? Subscribers have access to live office hours chats with Mark Murphy, to help you work through your challenges!