次のコードを使用して、WiFi スキャナーの現在の状態を取得しようとしました。
ConnectivityManager manager = (ConnectivityManager)getSystemService(MainActivity.CONNECTIVITY_SERVICE);
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
残念ながら、2 行目でアプリを実行するとアプリがクラッシュします。行をコメント化すると、アプリを問題なく実行できます。この部分は、このアプリにとって非常に重要です。これがないと、残りのコードを進めることができません。エミュレーター (Android バージョン: 4.2.2 API レベル 17) および ICS 4.0.4 (API レベル 15) を実行している Xperia でもクラッシュします。最低限必要な API レベルは 8 に設定されています。コードにエラーはありません。
編集: 機能するのは: 代替コード:
最終的な WifiManager wifiManagerI = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
boolean wifiEnabledI = wifiManagerI.isWifiEnabled();