我有我目前正在开发一个 WP8 应用程序,我已经为一个问题苦苦挣扎了大约一个月,
它是一个从远程 url 播放的音乐播放器,但如果没有互联网连接,即 3g 或 wifi,并且您在播放列表中有一首歌,则应用程序意外崩溃
我想知道是否可以设置它,以便在应用程序启动时检查网络状态,如果没有互联网连接,它会显示一个通知说没有连接然后关闭应用程序?如果可能的话,是否有人可以为我指明从哪里开始的正确方向,
提前致谢
我有我目前正在开发一个 WP8 应用程序,我已经为一个问题苦苦挣扎了大约一个月,
它是一个从远程 url 播放的音乐播放器,但如果没有互联网连接,即 3g 或 wifi,并且您在播放列表中有一首歌,则应用程序意外崩溃
我想知道是否可以设置它,以便在应用程序启动时检查网络状态,如果没有互联网连接,它会显示一个通知说没有连接然后关闭应用程序?如果可能的话,是否有人可以为我指明从哪里开始的正确方向,
提前致谢
您可以使用 WebClient 从网站检索数据、使用 ping 或检查网络接口。
网络客户端
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();
我认为您应该了解异常以及如何处理它们-至少我会这样做并期望它可以通过有关此主题的更多信息来处理
当然,除非您已经知道这一点并且应用程序在没有明显原因的情况下崩溃。(只是一个新手的建议:)也许我错了,但你没有提供任何线索,所以我没有任何关于你的技能水平或你所知道的信息)