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

如何在android中获得可用的热点网络并在列表中显示,android,Android,我正在制作一个android游戏,其中用户可以使用热点连接玩游戏,比如共享it应用程序连接两个使用热点的用户。我在谷歌上搜索过,但他们只显示wifi网络列表,但我只想在附近显示可用的热点。请帮帮我。我已经被困了三天了。你需要创建一个BroadcastReceiver收听Wifi扫描结果: private final BroadcastReceiver mWifiScanReceiver=新的BroadcastReceiver(){ @凌驾 接收时公共无效(上下文c,意图){ if(intent.

我正在制作一个android游戏,其中用户可以使用热点连接玩游戏,比如共享it应用程序连接两个使用热点的用户。我在谷歌上搜索过,但他们只显示wifi网络列表,但我只想在附近显示可用的热点。请帮帮我。我已经被困了三天了。

你需要创建一个BroadcastReceiver收听Wifi扫描结果:

private final BroadcastReceiver mWifiScanReceiver=新的BroadcastReceiver(){
@凌驾
接收时公共无效(上下文c,意图){
if(intent.getAction().equals(WifiManager.SCAN\u RESULTS\u AVAILABLE\u ACTION)){
List mScanResults=mWifiManager.getScanResults();
//在这里添加您的逻辑
}
}
}

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+中,必须在运行时请求权限。(对于实验室环境,您还可以在“设置”中手动授予权限,而不需要太多编码,但不建议最终用户应用程序使用。)


请注意,处理扫描结果的代码将在每次有新的扫描结果可用时运行,并更新结果。

Dharmishta如果只启用了我的wifi,它会显示wifi列表。但我想使用hotspot进行连接,而不需要wifi,就像他们在共享时一样。