Получите время от онлайн - PullRequest
0 голосов
/ 01 мая 2019

Есть ли способ получить время из онлайн для моего приложения для Android.Я хочу создать приложение для Android, где мне нужно использовать время, которое не зависит от изменения времени устройства.Так что я хочу узнать текущее время из онлайн или базы данных Firebase.

Ответы [ 2 ]

0 голосов
/ 15 июля 2019

Если вы хотите Время создания , когда ваша учетная запись создается в Firebase, попробуйте это:

FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUserMetadata metadata = mAuth.getCurrentUser().getMetadata();

if(metadata != null) {
  System.out.println("CREATED TIME ======>" + metadata.getCreationTimestamp());
}
0 голосов
/ 01 мая 2019

Если вам не нужна точность в миллисекундах, и если вы уже используете Google 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");
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...