1

我有我目前正在开发一个 WP8 应用程序,我已经为一个问题苦苦挣扎了大约一个月,

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

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

提前致谢

4

2 回答 2

2

您可以使用 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();
于 2013-10-18T11:41:28.947 回答
0

我认为您应该了解异常以及如何处理它们-至少我会这样做并期望它可以通过有关此主题的更多信息来处理

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

于 2013-10-18T11:08:58.633 回答