WP8网络状态 - 应用程序崩溃时没有网络

时间:2013-10-18 10:59:41

标签: c# windows windows-phone-7 windows-phone-8

我目前正在开发WP8应用程序,我一直在努力解决一个问题,

它是一个从远程网址播放的音乐播放器,但如果没有互联网连接,即3g或wifi,你在播放列表中有一首歌,应用程序意外崩溃

我想知道是否有可能设置它,所以当应用程序启动它检查网络状态,如果没有互联网连接,它会显示一条通知说没有连接然后关闭应用程序?如果可能的话,有人可以指出我在哪里开始正确的方向,

提前致谢

2 个答案:

答案 0 :(得分:2)

您可以使用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();

答案 1 :(得分:0)

我认为你应该了解例外情况以及如何处理它们 - 至少我是这样做的,并期望用More on this topic来处理它

除非您已经知道并且应用程序崩溃且没有明显原因。 (只是一个菜鸟的建议:)也许我错了,但你没有提供任何线索,所以我没有任何关于你的技能水平或你知道的信息)