我刚刚开始开发android,需要能够扫描该区域内的所有wifi信号。这需要检测您是否在特定wifi信号的区域,并在这种情况下发送通知。这需要在没有连接到wifi信号的情况下完成。
我见过可以检测周围所有wifi信号的应用程序,但无法弄清楚如何执行此操作。我需要它给你在手机上的wifi设置中给你的所有wifi点。
我希望有人能帮助我
答案 0 :(得分:0)
虽然这个问题可能有重复,但我想回答一下,因为这个问题出现在我的Google搜索排名前5位。
要扫描WiFi信号,您需要使用广播接收器......
这是示例
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_es_wi_fi_settings);
this.manager = (WifiManager)(this.getSystemService(Context.WIFI_SERVICE));
if(!manager.isWifiEnabled()){
manager.setWifiEnabled(true);
}
receiver = new WifiReceiver();
registerReceiver(receiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
manager.startScan();
}
用于Wifi扫描的广播接收器
class WifiReceiver extends BroadcastReceiver
{
public void onReceive(Context c, Intent intent)
{
esWiFiSettings.this.runOnUiThread(new Runnable() {
@Override
public void run() {
List<ScanResult> results = manager.getScanResults();
if (results.size() <= 0)
return;
for (ScanResult result : results) {
Log.d(TAG, result.SSID);
}
}
});
}
}
我希望上面的代码足以说明这个想法,