0
我想獲得我的應用程序中可用的所有wifi連接列表,但我沒有得到任何列表。我的無線連接正在進行,也連接到我的wifi,但我無法獲得我的應用程序中的無線連接列表。 誰能告訴我爲什麼這樣?這裏是我的代碼:如何獲取所有可用的wifi連接列表?
MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
WifiManager wm;
ToggleButton tb;
ArrayAdapter<String> aa;
ListView l;
private static final int ENABLE_REQUEST=1;
private static final int DISCOVERABLE_REQUEST=2;
private static final int DISCOVERABLE_DURATION=120;
BroadcastReceiver br=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action=intent.getAction();
if(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) {
List<ScanResult> hotspot= wm.getScanResults();
for(int i=0;i<hotspot.size();i++) {
aa.add(hotspot.get(i).toString());
}
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tb= (ToggleButton) findViewById(R.id.toggle);
aa=new ArrayAdapter(this,android.R.layout.simple_list_item_1);
l= (ListView) findViewById(R.id.list);
l.setAdapter(aa);
wm= (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
tb.setOnClickListener(this);
}
@Override
public void onClick(View v) {
tb= (ToggleButton) v;
if(wm==null) {
Toast.makeText(this, "This feature is not supported", Toast.LENGTH_SHORT).show();
tb.setChecked(false);
} else {
if (tb.isChecked()) {
wm.setWifiEnabled(true);
discover();
} else {
wm.setWifiEnabled(false);
}
}
}
private void discover() {
wm.startScan();
IntentFilter filter=new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
this.registerReceiver(br,filter);
}
}
的AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>