给我提供5种Androidstudio获取所连接WIFI的名字方法禁止使用上下文对象获取可以使用非标准库
- 使用WifiManager获取所连接WIFI的SSID:
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
- 使用ConnectivityManager获取所连接WIFI的SSID:
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
String ssid = networkInfo.getExtraInfo();
- 使用NetworkCapabilities获取所连接WIFI的SSID:
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkCapabilities networkCapabilities = connManager.getNetworkCapabilities(connManager.getActiveNetwork());
String ssid = networkCapabilities.getSsid();
- 使用WifiNetworkSpecifier获取所连接WIFI的SSID:
WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder()
.setSsidPattern(new PatternMatcher("WIFI_SSID", PatternMatcher.PATTERN_PREFIX))
.setWpa2Passphrase("PASSWORD")
.build();
NetworkRequest request = new NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.setNetworkSpecifier(specifier)
.build();
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
connManager.requestNetwork(request, new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
// Connected to WIFI network
}
});
- 使用WifiP2pManager获取所连接WIFI的SSID:
WifiP2pManager wifiP2pManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
wifiP2pManager.requestGroupInfo(wifiP2pManager.initialize(this, getMainLooper(), null), new WifiP2pManager.GroupInfoListener() {
@Override
public void onGroupInfoAvailable(WifiP2pGroup group) {
String ssid = group.getNetworkName();
}
});
原文地址: https://www.cveoy.top/t/topic/bt3s 著作权归作者所有。请勿转载和采集!