LoginSignup
1
1

More than 5 years have passed since last update.

【Monaca】Android 端末にて、Connectionプロパティが読み込めない

Last updated at Posted at 2015-09-17

問題点

Monacaにて、AndroidとiOS上でオンラインかオフラインを判定する処理を実装しておりました。
参考サイト: http://docs.monaca.mobi/3.5/ja/reference/phonegap_34/ja/connection/

ここで、iOSでは、判定が出来るのに、Androidでは判定出来ない(ロジックが通らない)事がありまして、調べましたので、共有させて頂きます。
実機: SC-02C (Ver.4.0.3)

オンライン判定ロジック
var networkState = navigator.connection.type;

if (networkState != Connection.NONE) {
    alert("オンライン!");
} else {
    alert("オフライン!");
}

現象・解決方法

取り敢えず、どこでこけているのか、色々、確認していきました。
その結果、typeof Connection // -> undefined こんな事実が分かりました。
Connectionが定義されていない。。?

それを元に調べました所、我らがStackOverflow様 にて発見しました。
参考サイト: http://stackoverflow.com/questions/25672502/phonegap-network-connection-cannot-read-property-type-of-undefined

Cordovaのnetwork-informationのプラグインのバージョンを0.2.7 にしてください、との事みたいですね。

でも、Monacaのnetwork-informationのプラグインのバージョンは 0.2.10 (2015/09/17 現在)だそうで。。
Monacaでは、有料会員で無ければ、Cordovaの外部プラグインを自分でインストールしてきて、組み込む、という事が出来ません。

色々悩んだ挙句、、

解決コード
var networkState = navigator.connection.type;

if (networkState != "none") {
    alert("オンライン!");
} else {
    alert("オフライン!");
}

としました。

一応、このnetworkStateの型がStringだったので、一先ずはこれで良いかな。。。と。
ただ・・・だっさいよね(´・ω・`)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1