在启动应用程序之前显示有关互联网连接的警报(Monotouch)

时间:2012-06-05 09:23:43

标签: xamarin.ios connection alert

我正在开发一个需要互联网连接的应用,所以我想在发布之前检查可用性。 如果互联网连接不可用,请向用户显示提醒并返回主页,而不是尝试启动该应用。

所以我使用了Reachability类,这里建议(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中,它会执行检查,显示警报,但保持黑屏而不是返回主页。 那么在启动应用程序和显示警报之前,我应该在哪里放置代码以进行检查?

1 个答案:

答案 0 :(得分:3)

你看这有点不对劲:

  • Apple不批准杀死/关闭自己的应用(请参阅:https://stackoverflow.com/a/356342/183422)。如果用户想关闭你的应用程序,他应该自己动手。

  • 您需要运行主循环来显示任何UI - 并且在您调用UIApplication.Main时启动主循环(这就是为什么您必须在AppDelegate.cs中进行检查并在那里显示相应的警报在您的主要方法中。)

所以,把这些东西放在一起,我认为你应该显示一个空白/闪屏,检查是否可达,如果没有,则显示警报(如果用户解除警报,可能再次检查)。