Hatena::ブログ(Diary)

Atelier:Mitsuba

2011-02-05

WP7がネットワークにつながってるかどうかを判別する。

WP7がネットワークに繋がってるかどうかをチェックします。

イベント実行時にチェックする分にはMicrosoft.Phone.Net.NetworkInformationを使います。

using Microsoft.Phone.Net.NetworkInformation;

namespace NetAvailableWP7
{
    public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();

            if (NetworkInterface.GetIsNetworkAvailable()) {
                TextBox.Text = "Online";
            }else{
                TextBox.Text ="Offline";
            }
        }
    }
}

ですが、Microsoft.Phone.Net.NetworkInformationでは、ネットワークの状態が変わったかのChangeEventは取れないみたいです。

なので、リアルタイムで取得したい場合は、SilverlightのOOBでも使っていたusing System.Net.NetworkInformationを使います。


using System.Net.NetworkInformation;

namespace NetAvailableWP7
{
    public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();

            //イベントはIPが変わったときに走るので、最初に検知する必要があるみたい
            if (NetworkInterface.GetIsNetworkAvailable())
            {
                TextBox.Text = "Online";
            }
            else
            {
                TextBox.Text = "Offline";
            }

            NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);
        }

        private void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
        {
            if (NetworkInterface.GetIsNetworkAvailable())
            {
                TextBox.Text = "Online";
            }
            else
            {
                TextBox.Text = "Offline";
            }
        }
    }
}

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/c-mitsuba/20110205/1296889333