添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
无邪的黄花菜  ·  @click事件不触发Nuxt ...·  2 月前    · 
憨厚的绿豆  ·  spring - Mock an ...·  1 年前    · 
儒雅的小刀  ·  Qt错误:'windeployqt' ...·  1 年前    · 

WifiManager.NETWORK_STATE_CHANGED_ACTION 广播在Android9.0还有效,Android10.0已经无效了。

WifiInfo wifiInfo = intent.getParcelableExtra(WifiManager.EXTRA_WIFI_INFO);
String bssid = intent.getStringExtra(WifiManager.EXTRA_BSSID);

解决办法:
android10如果要用到wifi相关的api时要引用ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION权限。
添加权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name
WifiManager.NETWORK_STATE_CHANGED_ACTION 广播在Android9.0还有效,Android10.0已经无效了。WifiInfo wifiInfo = intent.getParcelableExtra(WifiManager.EXTRA_WIFI_INFO);String bssid = intent.getStringExtra(WifiManager.EXTRA_BSSID);解决办法:android10如果要用到wifi相关的api时要引用ACCESS 然后直接获取WiFi名称 WifiManager wifiMgr = (WifiManager) mActivity.getSystemService(Context.WIFI_SERVICE); int wifiState = wifi
本文实例讲述了Android编程获取Wifi名称(SSID)的方法。分享给大家供大家参考,具体如下: 可以使用WifiManager和WifiInfo来获取当前Wifi连接信息 WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); Log.d(wifiInfo, wifiInfo.toString()); Log.d(SSID,wifiInfo.getSSID()); 记得在Manifes
说明:本文主要说明扫码之后自动连接WiFi的一些处理,扫码的流程相对简单,网上教程也比较多,对于目前Android各个版本也没有太多变化。 问题描述:最近在做项目的时候,发现以前的项目有扫描二维码自动连接WiFi的功能,设备改了生成二维码的方式,然后发现手机无法自动连接WiFi了。 问题原因:经过代码调试发现:(我都是真机调试) wifiManager.addNetwork(WifiCo...
```java WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); String ssid = wifiInfo.getSSID(); if (wifiInfo.getSupplicantState() == SupplicantState.AUTHENTICATING) { ssid = "\"" + ssid + "\""; 这段代码首先获取了 `WifiManager` 对象,然后通过 `getConnectionInfo()` 方法获取当前连接的 Wi-Fi 信息。接下来,它调用了 `getSSID()` 方法来获取当前连接的 Wi-Fi 网络的 SSID。如果 Wi-Fi 网络正在连接中,它会在 SSID 两端添加引号。 需要注意的是,如果 Wi-Fi 网络正在连接中,`getConnectionInfo()` 方法返回的 `WifiInfo` 对象可能会包含临时连接信息,而不是最终连接信息。在这种情况下,您可能无法获取准确的 SSID。如果您需要确保获取到最终连接信息,可以注册一个 `BroadcastReceiver` 监听 `WifiManager.NETWORK_STATE_CHANGED_ACTION` 广播,并在接收到广播时获取最新的 `WifiInfo` 对象。 ```java private BroadcastReceiver wifiStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) { NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); if (networkInfo.isConnected()) { WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); String ssid = wifiInfo.getSSID(); if (wifiInfo.getSupplicantState() == SupplicantState.AUTHENTICATING) { ssid = "\"" + ssid + "\""; // 处理 SSID 这段代码注册了一个 `BroadcastReceiver` 监听 `WifiManager.NETWORK_STATE_CHANGED_ACTION` 广播,并在接收到广播时获取最新的 `WifiInfo` 对象,并在其中处理 SSID。需要注意的是,您需要在 AndroidManifest.xml 文件中添加以下权限: ```xml <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 同时,在应用程序中,您需要调用以下方法来注册和取消注册 `BroadcastReceiver`: ```java // 注册 BroadcastReceiver registerReceiver(wifiStateReceiver, new IntentFilter(WifiManager.NETWORK_STATE_CHANGED_ACTION)); // 取消注册 BroadcastReceiver unregisterReceiver(wifiStateReceiver); 这样,您就可以在 Android 应用程序中获取当前正在连接中的 Wi-Fi 网络的 SSID 了。 uses ARM-Compiler ‘Default Compiler Version 5‘ which is not available. MDK5.37安装ARM_Compiler_5 21014 uses ARM-Compiler ‘Default Compiler Version 5‘ which is not available. MDK5.37安装ARM_Compiler_5 向往曼彻斯特: 完成第2步后在第三步界面中仍然无法选择AC5,请问这种情况如何解决 kotlin使用@Parcelize报错 public abstract fun describeContents(): Int defined in android.os.Parcelable RecyclerView通过DPAD按键上下切换焦点 切换到界面外的控件时焦点会左右乱跳 在DialogFragment的onStop(完全不可见)时调用dismiss退出界面报错解决办法