Как можно это реализовать непосредственно в программе?(т.е. установить одинаковое время на всех устройствах)
Абсолютно синхронизировать временные шкалы вам не удастся. Потому что синхронизация - операция сетевая, и в рассинхронизацию будет входить время распространения по сети (которое случайно флуктуирует).
Естественно, что синхронизация с NTP в WAN будет гораздо более грубая, чем синхронизация в LAN.
Я когда-то давно делал синхронизацию хостов в LAN, и путём определённой (несложной) математической обработки удавалось синхронизировать временные шкалы с точностью до единиц микросекунд (до 10). Но делалось это в ОС реального времени QNX, в Linux будет хуже, но не на много. А ваш Android - это Linux.