从在线获得时间

问题描述 投票:-1回答:1

有没有办法从我的Android应用程序在线获得时间。我想创建一个Android应用程序,我需要使用不受更改设备时间影响的时间。所以我想从在线或firebase数据库获取当前时间。

android time real-time
1个回答
0
投票

如果您不关心毫秒精度,并且如果您已经在使用谷歌firebase或不介意使用它(它们提供免费等级),请查看:https://firebase.google.com/docs/database/android/offline-capabilities#clock-skew

基本上,firebase数据库有一个字段,它提供设备时间和firebase服务器时间之间的偏移值。您可以使用此偏移量来获取当前时间。

DatabaseReference offsetRef = 
FirebaseDatabase.getInstance().getReference(".info/serverTimeOffset");
offsetRef.addValueEventListener(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot snapshot) {
    double offset = snapshot.getValue(Double.class);
    double estimatedServerTimeMs = System.currentTimeMillis() + offset;
  }

  @Override
  public void onCancelled(DatabaseError error) {
    System.err.println("Listener was cancelled");
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.