В моем приложении реализовано Truetime . Это работает нормально, но иногда, когда я открываю свое приложение, я не получаю значение. Я установил метод ежедневного вознаграждения, но если это произойдет, это будет большой проблемой.
Вот код, по которому я получаю время:
class GoogleTime extends AsyncTask<Void,Void,Void> {
@SuppressLint("CheckResult")
@Override
protected Void doInBackground(Void... voids) {
try {
TrueTime.build().initialize();
TrueTimeRx.build()
.initializeRx("time.google.com")
.subscribeOn(Schedulers.io())
.subscribe(date -> {
java.util.Date da = TrueTimeRx.now();
Log.w("PPPPP", "TrueTime was initialized and we have a time: " + da);
String mm= String.valueOf(da);
String name = mm.substring(0, mm.lastIndexOf("GMT+06:00"));
String yyy = mm.substring(mm.length()-4);
String f = name+yyy;
String []strArray=f.split(" ");
Month = getMonthInIntFormat(strArray[1]);
String dd = strArray[2];
String yy = strArray[4];
String Datw = dd +""+Month+""+yy;
TotalDate =Integer.parseInt(Datw);
Log.w("PPPPP", "TrueTime was initialized and we have a time: " + TotalDate);
}
, Throwable::printStackTrace);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Я выполнил класс при создании. Я также получаю сообщение об ошибке .subscribe(date -> {
. Его выражение Resultof Single.subscribe () игнорируется.