我正在开发一个需要互联网连接的应用,所以我想在发布之前检查可用性。 如果互联网连接不可用,请向用户显示提醒并返回主页,而不是尝试启动该应用。
所以我使用了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中,它会执行检查,显示警报,但保持黑屏而不是返回主页。 那么在启动应用程序和显示警报之前,我应该在哪里放置代码以进行检查?
答案 0 :(得分:3)
你看这有点不对劲:
Apple不批准杀死/关闭自己的应用(请参阅:https://stackoverflow.com/a/356342/183422)。如果用户想关闭你的应用程序,他应该自己动手。
您需要运行主循环来显示任何UI - 并且在您调用UIApplication.Main时启动主循环(这就是为什么您必须在AppDelegate.cs中进行检查并在那里显示相应的警报在您的主要方法中。)
所以,把这些东西放在一起,我认为你应该显示一个空白/闪屏,检查是否可达,如果没有,则显示警报(如果用户解除警报,可能再次检查)。