我目前正在开发一个WP8应用程序,现在我一直在努力解决一个问题,
它是一个音乐播放器,它从远程url播放,但如果没有互联网连接,即3G或WiFi,你有播放列表中的歌曲,应用程序意外崩溃
我想知道是否有可能设置,所以当应用程序启动它检查networking状态,如果没有互联网连接,它会提出一个通知说,没有连接,然后closures应用程序? 如果有可能的话,有人可以指出我从哪里开始的正确方向,
提前致谢
您可以使用WebClient从网站检索数据,使用ping或检查网络接口。
Web客户端
WebClient webClient = new WebClient(); webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted); webClient.DownloadStringAsync(new System.Uri("http://google.com"));
检查错误:
private void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { if (e.Error != null) { Deployment.Current.Dispatcher.BeginInvoke(() => { MessageBox.Show("An Error has occured. Maybe the website you are trying to reach is offline or you have no internetconnection"); }); } }
平
public bool CheckInternetConnection() { bool success = false; using (Ping ping = new Ping()) { try { if (ping.Send("google.com", 2000).Status == IPStatus.Success) { success= true; } } catch (PingException) { success = false; } } return success; }
检查网络接口
using Microsoft.Phone.Net.NetworkInformation; private void CheckInetConnection() { if (NetworkInterface.GetIsNetworkAvailable() == true) { //Internet avalaible } else { //No connection available } }
您可以使用以下代码使用C#关闭应用程序:
Application.Current.Exit();
我认为你应该学习Exceptions以及如何处理它们 – 至少我是这么做的,希望能够用这个话题处理更多
当然,除非你已经知道,应用程序崩溃没有明显的原因。 (只是菜鸟的建议:)也许我错了,但你没有给出任何线索,所以我没有任何有关你的技能水平或你知道的信息)