2012-06-05 5 views
0

Я разрабатываю приложение, требующее подключения к Интернету, поэтому я хочу проверить наличие перед запуском. Если подключение к Интернету недоступно, покажите предупреждение пользователю и вернитесь на главную страницу вместо того, чтобы пытаться запустить приложение.Показывать оповещение о подключении к Интернету перед запуском приложения (Monotouch)

Поэтому я использовал класс возвращаемости, который был рекомендован здесь (http://stackoverflow.com/questions/1961341/check-for-internet-access-with-monotouch), чтобы проверить подключение к Интернету. Пока все хорошо. Но если я поставлю этот чек в моем Main.cs, он выполнит проверку, но не отобразит предупреждение.

if(!Reachability.IsHostReachable("http://google.com")) { 
       Debug.WriteLine("OFFLINE"); 
       UIAlertView alert = new UIAlertView("Offline","Voor deze app is een internetverbinding vereist.",null,"OK",null); 
       alert.Show(); 
      } 
      else{   
      MPFramework.Application app = new MPFramework.Application(); 
      UIApplication.Main (args, null, "AppDelegate");   
      } 

Если я устанавливаю этот чек в AppDelegate.cs он выполняет проверку, отображается предупреждение, но держит черный экран вместо того, чтобы вернуться на главную страницу. Итак, где я размещаю свой код для проверки перед запуском приложения и отображения предупреждения?

ответ

3

Вы смотрите на это немного неправильно:

  • компании Apple не одобряет приложения, которые убивают/закрыть себя (см это: https://stackoverflow.com/a/356342/183422). Если пользователь хочет закрыть приложение, он должен сделать это сам.

  • Вам нужен основной цикл для отображения любого пользовательского интерфейса - и этот основной цикл запускается при вызове UIApplication.Main (именно поэтому вам нужно выполнить проверку в AppDelegate.cs и показать соответствующее предупреждение там вместо в вашем основном методе).

Итак, положив эти вещи вместе, я думаю, вы должны показать экран пустой/брызговик, проверьте достижимости и если там нет, то не показывать предупреждение (если пользователь закрывает предупреждение, может быть, проверьте еще раз) ,

+0

Спасибо за ваш ответ, я знал о политике Apple, поэтому я хотел проверить, прежде чем приложение действительно запустится. Кажется, это тоже не так. Но если вы создаете приложение, содержимое которого находится в облаке, то запуск совершенно пустого приложения, похоже, не имеет смысла ... – Ronald

Смежные вопросы