2016/10/19
Android で Wi-Fi 機能が現在有効かどうか調べる
この記事は Android の Wi-Fi 実装に関する情報のまとめ の一部として書かれました
Wi-Fi 機能の ON/OFF を調べます。 また、Wi-Fi の ON/OFF 切り替え時には状態があり、より正確な制御をするためには、状態を確認する必要があります。
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 | // Activity 等の Context 内で // Wi-Fi ON/OFF の取得 WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE); boolean isWifiEnabled = wm.isWifiEnabled(); // 状態の取得 // WifiManager.WIFI_STATE_DISABLED // WifiManager.WIFI_STATE_DISABLING // WifiManager.WIFI_STATE_ENABLED // WifiManager.WIFI_STATE_ENABLING // WifiManager.WIFI_STATE_UNKNOWN int wifiState = wm.getWifiState() |
パーミッション
このコードを実行するには android.permission.ACCESS_WIFI_STATE
パーミッションを AndroidManifest.xml で設定する必要があります。
1 | < uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" > |
isWifiEnabled と wifiState との関係
android.net.wifi.WifiManager
のソースコード1は以下のようになっています。
つまり、Wi-Fi の変化時、isWifiEnabled
は false
であり、細かい状態を wifiState
から取得しなければなりません。
1 2 3 | public boolean isWifiEnabled() { return getWifiState() == WIFI_STATE_ENABLED; } |
GUI上での表示
GUI 上では Wi-Fi の設定から確認可能な項目です。
設定 → 無線とネットワーク → Wi-Fi
0 件のコメント:
コメントを投稿