【问题标题】:how do I turn on the WiFi scanner?如何打开 WiFi 扫描仪?
【发布时间】:2013-03-28 18:10:47
【问题描述】:

我尝试使用代码获取 WiFi 扫描仪的当前状态:

ConnectivityManager manager = (ConnectivityManager)getSystemService(MainActivity.CONNECTIVITY_SERVICE);

 State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

不幸的是,第二行导致我的应用在运行时崩溃。 注释该行允许应用程序毫无问题地执行。 这部分对于这个应用程序非常重要。没有它我无法继续剩下的代码。 它在模拟器(Android 版本:4.2.2 API 级别 17)和运行 ICS 4.0.4(API 级别 15)的 Xperia 上崩溃。 所需的最低 API 级别设置为 8。 代码没有错误。

编辑:有效的是: 备用代码:

最终的 WifiManager wifiManagerI = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);

布尔 wifiEnabledI = wifiManagerI.isWifiEnabled();

【问题讨论】:

  • 错误是什么?请记录一下
  • 没有错误。该应用程序在启动时崩溃。但备用代码有效。

标签: android android-wifi


【解决方案1】:

没有日志,我猜你忘了添加权限。

<user-permission android:name="android.permission.ACCESS_WIFI_STATE" />

编辑:最终这段代码解决了这个问题。

final WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
boolean wifiEnabled =   wifiManager.isWifiEnabled();

【讨论】:

  • 谢谢你。你是对的。我确实忘记添加用户权限。但是该行仍然导致应用程序崩溃。这个备用代码(使用 wifi 管理器)解决了这个问题:final WifiManager wifiManagerI = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); boolean wifiEnabledI = wifiManagerI.isWifiEnabled();
猜你喜欢
  • 1970-01-01
  • 2014-07-26
  • 2021-03-27
  • 2012-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-02
相关资源
最近更新 更多