尊敬的android开发人员,

我正在尝试在我的应用程序中实现sntpclient类,但是它不起作用。

类:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/net/SntpClient.java

在我的代码中,我有以下几行:

public void onClickBtn(View v)
{
    SntpClient client = new SntpClient();
     if (client.requestTime("pool.ntp.org", 10)) {
         long now = client.getNtpTime() + SystemClock.elapsedRealtime() - client.getNtpTimeReference();
         Toast.makeText(this, "Offset: " + now, Toast.LENGTH_LONG).show();
     }
}

我真的不知道在这种情况下网络超时的含义是什么。

当有人对我有任何想法或建议时,这将是很棒的。

提前致谢!

最佳答案

您应该像这样将其放在AsyncTask中:

class GetNTPAsynctask extends AsyncTask<String, Void, Boolean> {

@Override
        protected Boolean doInBackground(String... params) {
            private SntpClient sntpClient = new SntpClient();
            return sntpClient.requestTime("pool.ntp.org", 30000);
        }
}

超时:网络超时(以毫秒为单位)。所以我用30000表示30秒。

10-06 13:02