如何获得可用的热点网络并在安卓列表中显示



我正在制作一款安卓游戏,用户可以在其中使用热点连接(如共享它应用程序(使用热点连接两个用户来玩游戏。我在谷歌上搜索,但他们只显示wifi网络列表,但我只想显示附近的可用热点。请帮助我伙计们。我从三天开始就被困在这个里面。

您需要创建一个 BroadcastReceiver 来监听 Wifi 扫描结果:

private final BroadcastReceiver mWifiScanReceiver = new BroadcastReceiver() { @Override public void onReceive(Context c, Intent intent) { if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) { List<ScanResult> mScanResults = mWifiManager.getScanResults(); // add your logic here } } }

onCreate()中,您将分配mWifiManager并启动扫描:

mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
registerReceiver(mWifiScanReceiver,
new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mWifiManager.startScan();

getScanResults(( 只有在您具有适当权限时才返回数据。为此,请将以下两行之一添加到您的 AndroidManifest.xml:

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

另请注意,在 API 23+ 中,必须在运行时请求权限。(对于实验室环境,还可以改为在"设置"中手动授予权限 - 所需的编码较少,但不建议用于最终用户应用。

请注意,每次有新的扫描结果可用时,处理扫描结果的代码

都会运行,从而更新结果。

最新更新