我开发了一个 android 和一个 iOS phonegapp 应用程序。原生 android 代码加载应用程序的 html 文件:
super.loadUrl()
在这个 html 文件中,我启动了对 web 服务的 ajax 请求。
但是在我连接到 web 服务并进行 ajax 调用之前,我会测试到 web 服务的连接,当我无法连接到 web 服务时,应用程序应该在我加载 html 之前关闭,并发出警报或警告。
我开发了一个 android 和一个 iOS phonegapp 应用程序。原生 android 代码加载应用程序的 html 文件:
super.loadUrl()
在这个 html 文件中,我启动了对 web 服务的 ajax 请求。
但是在我连接到 web 服务并进行 ajax 调用之前,我会测试到 web 服务的连接,当我无法连接到 web 服务时,应用程序应该在我加载 html 之前关闭,并发出警报或警告。
您可以使用 HttpURLConnection 发送请求并检查响应正文中是否存在该页面独有的文本(而不是仅仅检查是否有响应,以防万一出现错误或维护页面或正在提供的东西) .
Apache Commons 有一个库,它删除了许多用 Java 发出 Http 请求的样板。
我从来没有专门在 Android 上做过这样的事情,但如果有什么不同,我会感到惊讶。
这是一个简单的例子:
URL url = new URL(URL_TO_APPLICATION);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream stream = connection.getInputStream();
Scanner scanner = new Scanner(stream); // You can read the stream however you want. Scanner was just an easy example
boolean found = false;
while(scanner.hasNext()) {
String next = scanner.next();
if(TOKEN.equals(next)) {
found = true;
break;
}
}
if(found) {
doSomethingAwesome();
} else {
throw aFit();
}
也试试这个
他可能需要 Java 代码,因为他在 Android 上工作。Java 等价物——我相信它适用于 Android——应该是:
InetAddress.getByName(host).isReachable(timeOut)