Network

Network

network オブジェクトはWiFiや携帯電話ネットワークの接続情報にアクセスします。

メソッド

引数

コンスタント


network.isReachable

特定のドメインに対して接続の可否を確かめます。

network.isReachable(reachableHostname, reachableCallback, [reachableOptions])

概要

このメソッドはデバイスのネットワークへの接続状況や接続の形式などの情報を調べるために必要です。 network.isReachable は非同期関数なので、ネットワークの状態はコールバック関数から返されます。

サポートされているプラットフォーム

使用例

function reachableCallback(reachability) {
    // 現状では各プラットフォーム間でのreachabilityのフォーマットに関しての一貫性はありません
    var networkState = reachability.code || reachability;

    var states = {};
    states[NetworkStatus.NOT_REACHABLE]                      = '接続可能なネットワークが見つかりません';
    states[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'データ接続';
    states[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK]         = 'WiFi接続';

    alert('接続の形式: ' + states[networkState]);
}

navigator.network.isReachable('phonegap.com', reachableCallback);

詳細な使用例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>isReachable の使用例</title>

    <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
    <script type="text/javascript" charset="utf-8">

    // PhoneGapの読み込みを待機
    // 
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }

    // PhoneGapの準備が完了し、この時点から安全にPhoneGapのメソッドが利用できます。
    //
    function onDeviceReady() {
        navigator.network.isReachable("phonegap.com", reachableCallback, {});
    }

    // ネットワークの状態をチェック
    //
    function reachableCallback(reachability) {
        // 現状では各プラットフォーム間でのreachabilityのフォーマットに関しての一貫性はありません
        var networkState = reachability.code || reachability;

        var states = {};
        states[NetworkStatus.NOT_REACHABLE]                      = '接続可能なネットワークが見つかりません';
        states[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'データ接続';
        states[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK]         = 'WiFi接続';

        alert('接続の形式: ' + states[networkState]);
    }

    </script>
  </head>
  <body onload="onLoad()">
    <p>ダイアログボックスにネットワークの状態が表示されます。</p>
  </body>
</html>

NetworkStatus

NetworkStatus はネットワークの接続状況を表す定数の集合を定義します。 network.isReachablereachability 引数は NetworkStatus 定数です。

コンスタント


reachableCallback

ホストネームの接続可否状況を提供するコールバック関数です。

function reachableCallback(reachability) {
    // ネットワークの接続可否をチェック
}

パラメータ

詳細

このコールバック関数は NetworkStatus のコンスタントである引数、 reachability のみを受け入れます。

使用例

function reachableCallback(reachability) {
    // 現状では各プラットフォーム間での reachability のフォーマットに関しての一貫性はありません
    var networkState = reachability.code || reachability;

    var states = {};
    states[NetworkStatus.NOT_REACHABLE]                      = '接続可能なネットワークが見つかりません';
    states[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'データ接続';
    states[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK]         = 'WiFi接続';

    alert('接続の形式: ' + states[networkState]);
}

BlackBerry に関する注意点

 reachablity の値としてネットワークの状態を返します。

function reachableCallback(reachability) {
    var hasConnection = (reachability !== NetworkStatus.NOT_REACHABLE);
}

iPhone に関する注意点

iPhone上での実装は接続形式の情報のみを提供します。 ホストへ接続が可能かどうかは認証しません。


reachableHostname

リモートホストを特定する文字列を表します。 ホストネームはネットワークアドレスもしくはドメインネームのいずれかとなります。

// 有効なホストネーム
//
var hostname = 'phonegap.com';
var hostname = '192.168.0.1';
var hostname = 'localhost';

reachableOptions

接続可否の確認時の返り値の形式を設定するための任意のパラメータです。

{ isIpAddress: false };

オプション