Искам да покажа предупреждение, че връзката не е налична в моето приложение за Android.
Извиквам някаква заявка за почивка в молбата си. За да проверя този сценарий за недостъпност на мрежата, ръчно прекратявам връзката с wifi в лаптопа си (тествам в симулатора).
Кодът, където се обаждам на сервиз, е тук
resp = client.execute(httpPostRequest);
и тук хващам изключение
catch (IllegalStateException e) {
//assertTrue(e.getLocalizedMessage(), false);
e.printStackTrace();
} catch (ClientProtocolException e) {
//assertTrue(e.getLocalizedMessage(), false);
e.printStackTrace();
} catch (IOException e) {
//assertTrue(e.getLocalizedMessage(), false);
e.printStackTrace();
}
и когато получа изключение, се опитвам да получа състоянието на мрежовата връзка на устройството с тази функция
public boolean IsInternetConnectted()
{
ConnectivityManager conMgr = (ConnectivityManager)this.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo i = conMgr.getActiveNetworkInfo();
conMgr = null;
if (i == null)
return false;
if (!i.isConnected())
return false;
if (!i.isAvailable())
return false;
return true;
}
дори ако wi-fi е прекъсната, моят симулатор връща true от тази функция.
Как да се разреши тази ситуация??