1.7 KiB
ADR 0002: Android system time update capability
Question
Can NTP Check update the Android device system time?
Finding
For a normal Play/user-installed Android app: no. Android protects system clock changes behind privileged APIs/permissions. An app can measure offset and show guidance, but it cannot directly set wall-clock time unless it is installed with elevated trust.
Practical options
-
Normal app behavior for v1
- Probe NTP servers.
- Show estimated device offset.
- Warn when local clock appears wrong.
- Provide a button to open Android Date & Time settings.
- No special permissions beyond
INTERNET.
-
Device-owner / enterprise-managed device
- Some Android management APIs allow a device owner/profile owner to control certain time/timezone policies depending on Android version and ownership mode.
- This requires provisioning the app as a device policy controller, not a typical install.
-
Privileged/system app or custom ROM
- A system-signed or
/system/priv-appapplication can use privileged permissions such asandroid.permission.SET_TIME. - This is not available to ordinary APK installs.
- A system-signed or
-
Rooted device helper
- A rooted-device mode could call shell commands such as
date/toybox date, but this is out of scope for v1 and has safety/security risks.
- A rooted-device mode could call shell commands such as
Decision
V1 will not set Android system time. It will remain a diagnostic/comparison tool and may include an "Open Date & Time settings" action. Any future clock-setting mode must be explicitly separate and gated as enterprise/device-owner, privileged-system, or rooted-device functionality.
Product implication
Market the app as an NTP testing and comparison dashboard, not as a general Android time synchronization daemon.