1

私は現在 WP8 アプリケーションを開発しており、約 1 か月間問題に苦しんでいましたが、

リモート URL から再生する音楽プレーヤーですが、3G または Wi-Fi などのインターネット接続がなく、プレイ リストに曲がある場合、アプリが予期せずクラッシュします。

アプリの起動時にネットワークの状態をチェックし、インターネット接続がない場合は、接続がないという通知を表示してからアプリを閉じるように設定できるかどうか疑問に思っていましたか? 可能であれば、どこから始めるべきか正しい方向に向けてくれる人がいますか?

前もって感謝します

4

2 に答える 2

2

WebClient を使用して Web サイトからデータを取得したり、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();
于 2013-10-18T11:41:28.947 に答える
0

例外とその処理方法について学ぶ必要があると思います-少なくともそれは私がそれを行う方法であり、それが処理されることを期待していますこのトピックの詳細

もちろん、あなたがすでにそれを知っていて、明らかな理由もなくアプリがクラッシュしている場合を除きます. (初心者のアドバイスです :) 私が間違っているかもしれませんが、あなたは何の手がかりも与えていないので、あなたのスキルレベルやあなたが知っていることについての情報はありません)

于 2013-10-18T11:08:58.633 に答える