Network
network
オブジェクトはWiFiや携帯電話ネットワークの接続情報にアクセスします。
メソッド
引数
コンスタント
network.isReachable
特定のドメインに対して接続の可否を確かめます。
network.isReachable(reachableHostname, reachableCallback, [reachableOptions])
概要
このメソッドはデバイスのネットワークへの接続状況や接続の形式などの情報を調べるために必要です。
network.isReachable
は非同期関数なので、ネットワークの状態はコールバック関数から返されます。
サポートされているプラットフォーム
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0 以上)
- iPhone
使用例
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.isReachable
の reachability
引数は NetworkStatus
定数です。
コンスタント
NetworkStatus.NOT_REACHABLE
NetworkStatus.REACHABLE_VIA_WIFI_NETWORK
NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK
reachableCallback
ホストネームの接続可否状況を提供するコールバック関数です。
function reachableCallback(reachability) {
// ネットワークの接続可否をチェック
}
パラメータ
-
reachability: デバイスのネットワーク状況です。 (
NetworkStatus
)- 各プラットフォーム間での
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 };
オプション
-
isIpAddress:
reachableHostname
がIPアドレスかどうかを確認します。(Boolean
) (Default:false
)