0

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

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

4

1 回答 1

3

你看这个有点错误:

  • Apple 不赞成杀死/关闭自己的应用程序(参见:https ://stackoverflow.com/a/356342/183422 )。如果用户想关闭你的应用程序,他应该自己做。

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

所以,把这些东西放在一起,我认为你应该显示一个空白/启动屏幕,检查可达性,如果没有,则显示警报(如果用户关闭警报,可能会再次检查)。

于 2012-06-05T09:41:13.583 回答