使用可達性api在服務請求之前檢查網絡連接。有時,當網絡太弱時,它會掛起我的應用程序,並在一段時間後獲得狀態。如果關閉我的WiFi立即我得到的狀態,當網絡是適當的,那麼我也立即得到狀態,但當網絡是薄弱的(我的假設)它不會立即給予狀態,並因此給用戶的應用程序被凍結的假設並在某段時間後給出網絡狀態已關閉。如何告訴用戶該應用程序未凍結,但正在檢查可達性?當網絡太弱時,可達性會掛起我的應用程序
InternetConnection *ic=[[InternetConnection alloc] init];
if([ic connectedToNetwork])
{
//do some request
}
else
{
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@""
message:@"Network down"
delegate:nil
cancelButtonTitle:AGLocalizedString(@"key_ok",nil)
otherButtonTitles:nil];
[alert show];
}
//check internet connection code
- (BOOL) connectedToNetwork{
Reachability* reachability = [Reachability reachabilityWithHostName:@"google.com"];
NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];
if(remoteHostStatus == NotReachable)
{
isInternet =FALSE;
}
else if (remoteHostStatus == ReachableViaWWAN)
{
isInternet = TRUE;
}
else if (remoteHostStatus == ReachableViaWiFi)
{ isInternet = TRUE;
}
return isInternet;
}
給出請求的超時選項? – 2014-12-03 09:50:25
我如何給超時選項? – 2014-12-03 09:53:03