有没有办法从我的Android应用程序在线获得时间。我想创建一个Android应用程序,我需要使用不受更改设备时间影响的时间。所以我想从在线或firebase数据库获取当前时间。
如果您不关心毫秒精度,并且如果您已经在使用谷歌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");
}
});