В моем приложении я хочу использовать Время сети, а не время устройства. Требование моего приложения заключается в том, что время должно быть правильным.Как получить время из сети в Android
Я пытаюсь получить время от Сервер NTS, но загрузчик продолжает работать и не останавливается. Я ждал более 30 минут, но все равно ничего не получаю.
Я хочу знать, есть ли какой-либо другой метод для получения из сети, потому что я не хочу, чтобы время от сети занимало так много времени.
public class MainActivity extends Activity {
public static final String TIME_SERVER = "time-a.nist.gov";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnGetTime = (Button)findViewById(R.id.button1);
btnGetTime.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
new GetTimeFromNetwork().execute();
}
});
}
public class GetTimeFromNetwork extends AsyncTask<String, Void, String> {
ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
progressDialog.show();
Log.i("pre execute","yes");
}
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
Log.i("In Get time From Server class", "yes");
try {
NTPUDPClient timeClient = new NTPUDPClient();
InetAddress inetAddress = InetAddress.getByName(TIME_SERVER);
TimeInfo timeInfo = timeClient.getTime(inetAddress);
//long returnTime = timeInfo.getReturnTime(); //local device time
long returnTime = timeInfo.getMessage().getTransmitTimeStamp()
.getTime(); //server time
Date time = new Date(returnTime);
Log.i("time", "Time from " + TIME_SERVER + ": " + time);
} catch (Exception e) {
// TODO: handle exception
Log.e("error",e.getMessage());
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
progressDialog.dismiss();
} }
}
Вы получаете что-то в Log.i ("время", "Время от" + TIME_SERVER + ":" + время); – Pavya
Нет, я ничего не получил. – Andrain
попробуйте использовать другой сервер времени – Pavya