获取所有可用的WiFi

时间:2017-11-12 06:59:41

标签: android wifi android-wifi

我尝试详细了解所有可用的wifi,但BroadcastReceiver不会调用扫描结果。

活动

wifiStatusActivity extends AppCompatActivity {

  WifiManager wifi;
  List<ScanResult> results;

  /* Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    if (wifi.isWifiEnabled() == false) {
      Toast.makeText(getApplicationContext(), "wifi is disabled..making it enabled",
          Toast.LENGTH_LONG).show();
      wifi.setWifiEnabled(true);
    }
    wifi.startScan();
    registerReceiver(new BroadcastReceiver() {
      @Override
      public void onReceive(Context c, Intent intent) {
        log.i("LOG","Scan Complete");
      }
    }, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
  }

清单

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

任何建议......!

1 个答案:

答案 0 :(得分:0)

我找到答案。

1)需要添加两个新权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

2)我不知道原因,但在我的测试设备Huawei honor P9 lite位置必须处于活动状态。