我用AsyncTask来检查连接到主机的网络。但是doInBackground从来都没有超时。有人知道为什么?
public class HostAvailabilityTask extends AsyncTask<String, Void, Boolean>{
private Main main;
public HostAvailabilityTask(Main main){
this.main = main;
}
protected Boolean doInBackground(String... params) {
Main.Log("doInBackground() isHostAvailable():"+params[0]);
try {
return InetAddress.getByName(params[0]).isReachable(30);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
protected void onPostExecute(Boolean... result) {
Main.Log("onPostExecute()");
if(result[0] == false){
main.setContentView(R.layout.splash);
return;
}
main.continueAfterHostCheck();
}
}