Я пытаюсь написать программу для Android, чтобы проверить подключение к Интернету двумя разными способами. Первый - наиболее распространенный метод CheckInternetConnection(), а второй метод - подключение к веб-сайту ConnectGoogleTest(). Первый работает отлично, но во втором мой планшет висит! кто-нибудь знает почему?проверка подключения к Интернету при программировании на андроид
Коды:
public class myITClass {
private Context ctx ;
public myITClass(Context context){
this.ctx = context;
}
public boolean CheckInternetConnection() {
ConnectivityManager cm = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
//NetworkInfo ni = cm.getActiveNetworkInfo();
if (cm.getActiveNetworkInfo() == null) {
// There are no active networks.
return false;
} else {
return true;
}
}
public boolean googlePingTest(){
boolean res = false ;
try {
URL url = new URL("http://www.google.com/");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setConnectTimeout(15000);
urlc.connect();
if (urlc.getResponseCode() == 200) { res = true; }
} catch (MalformedURLException e1) {
res = false;
} catch (IOException e) {
res = false ;
}catch (Exception e){
res = false ;
}
return res;
}
}
Я не думаю, что вы можете установить тайм-аут соединения _после_ вызова 'OpenConnection()'. Что-нибудь в logcat? –
У меня есть то же самое, что и здесь, и его работоспособность. Для соединения было установлено только несколько свойств. http://stackoverflow.com/questions/27988103/android-check-if-there-is-wifi-but-no-internet – Rohit5k2