【发布时间】:2017-06-08 04:16:13
【问题描述】:
我正在尝试通过 ScanResult 列出可用的 wifi 网络。
谁能告诉我我的代码有什么问题?我没有得到想要的输出。
这是我的代码:
public class Activity_scanwifi extends AppCompatActivity {
Switch aSwitch;
TextView textView;
WifiManager wifiManager;
WifiInfo wifiInfo;
String info;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.scanwifi);
aSwitch=(Switch) findViewById(R.id.s);
textView=(TextView) findViewById(R.id.textView);
wifiManager=(WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiManager.startScan();
aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// switch on
if(isChecked && ! wifiManager.isWifiEnabled())
{
wifiManager.setWifiEnabled(true);
wifiInfo=wifiManager.getConnectionInfo();
}
// switch off
if (!isChecked && wifiManager.isWifiEnabled())
{
wifiManager.setWifiEnabled(false);
}
}
});
broadcast b=new broadcast();
registerReceiver(b,new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
}
public class broadcast extends BroadcastReceiver{
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public void onReceive(Context context, Intent intent) {
// onReceive method updates any change in the available wifi
StringBuffer stringBuffer=new StringBuffer();
/// List<WifiConfiguration> list=wifiManager.getConfiguredNetworks();
List<ScanResult> list=wifiManager.getScanResults();
//for(WifiConfiguration wifiConfiguration : list)
for(ScanResult scanResult : list)
{
stringBuffer.append(scanResult);
}
textView.setText(stringBuffer);
}
}
}
【问题讨论】:
-
您是否添加了适当的权限。通过这个stackoverflow.com/questions/5452940/…
-
hii @vikrant 你找到解决方案了吗?
-
我已经添加了权限顺便说一句谢谢你的建议..@VindhyaPratapSingh
-
是的@RuchaBhatt
标签: android broadcastreceiver android-wifi wifimanager