我想买我自己的设备Wi-Fi SSID
和BSSID name
。我怎么能拿到这个?我试过这个
WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wifiConfiguration = new WifiConfiguration();
System.out.println("BSSID"+wifiConfiguration.BSSID);
但是这段代码给出了我目前连接到的设备的BSSID,但是我想通过代码获得我自己的设备BSSID
ssid
?请帮帮我。
发布于 2019-04-23 06:45:05
如果您想获得设备的热点SSID或BSSID,请使用以下内容:
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
Method[] methods = wifimanager.getClass().getDeclaredMethods();
for (Method m: methods) {
if (m.getName().equals("getWifiApConfiguration")) {
WifiConfiguration config = (WifiConfiguration)m.invoke(wifimanager);
String ssid = config.SSID;
String bssid = config.BSSID;
}
}
您可以将WifiManager
和WifiInfo
用于连接设备的Wifi信息,如下所示:
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifiManager.getConnectionInfo();
String ssid = info.getSSID();
String bssid = info.getBSSID();
您需要下列权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
备注:从Android8.0开始,您还需要位置权限(ACCESS_COARSE_LOCATION)才能访问SSID或BSSID,因为是这,而且,我认为您需要打开设备的位置设置才能工作,即使您有位置权限。
发布于 2019-04-22 21:53:11
添加这些权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
然后使用这种方法
public static String getBSSID(Context mContext) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if(mNetworkInfo.isConnected()) {
final WifiManager mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
final WifiInfo mWifiInfo = mWifiManager.getConnectionInfo();
if(mWifiInfo != null) {
return mWifiInfo.getBSSID();
}
}
return null;
}
https://stackoverflow.com/questions/55801536
复制相似问题