性感菠萝头 2022-04-24 10:41 采纳率: 0%
浏览 431

Android 10以上连接指定WiFi问题

测试手机:

小米手机

Android版本:

12

问题描述:

使用测试手机扫描二维码得到WiFi的ssid和密码,然后使用Android官方文档上的10以上的点对点连接方案,设备连接上了一个ssid一样的WiFi,但是查看WiFi列表时会发现存在两个名称一样的WiFi,分别查看详情,连接上的WiFi并没有很多详细的信息,而另一个WiFi可以查看很多详细的信息,例如mac地址等。

问题相关代码:
 val specifier: NetworkSpecifier = WifiNetworkSpecifier.Builder()
                    .setSsidPattern(PatternMatcher(wifiName, PatternMatcher.PATTERN_LITERAL))
                    .setWpa2Passphrase(wifPassword)
                    .build()
                val request = NetworkRequest.Builder()
                    .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                    .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
                    .setNetworkSpecifier(specifier)
                    .build()
                val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
                val networkCallback: ConnectivityManager.NetworkCallback = object : ConnectivityManager.NetworkCallback() {
                    override fun onAvailable(network: Network) {
                        super.onAvailable(network)
                        // do success processing here..x
                        
                    }

                    override fun onUnavailable() {
                        super.onUnavailable()
                        // do failure processing here..
                        ToastUtils.showShort("无线连接失败,请手动连接")
                        connectivityManager.unregisterNetworkCallback(this);
                    }
                }

                connectivityManager.requestNetwork(request, networkCallback)
运行结果及报错内容:

在WiFi列表中显示成功连接了指定WiFi,但是是一个假的WiFi,真实的WiFi没有连接上、无报错内容。

我的解答思路和尝试过的方法 :

因为官方文档提供的方式有两个,一、适用于互联网连接的 WLAN 建议 API,二、适用于对等连接的 WLAN 网络请求 API,以上代码使用的是第二种方法。尝试过第一种方法,但是当调用完方法,界面会显示是否允许建议的弹窗,无论点击哪个后都没有反应了。

我想要达到的结果:

能有一种方法连接正确的指定WiFi。

  • 写回答

1条回答 默认 最新

  • 不会写代码的猴子 Android领域优质创作者 2022-04-24 15:45
    关注
    .setSsidPattern(PatternMatcher(wifiName, PatternMatcher.PATTERN_PREFIX))
    

    试试

    评论

报告相同问题?

问题事件

  • 创建了问题 4月24日

悬赏问题

  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 python的EOFError该怎么解决?
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 java linux下将docx文件转pdf
  • ¥15 maven无法下载依赖包
  • ¥15 关于pycharm, Callable[[str],bool]作为方法参数使用时, lambda 类型不提示问题
  • ¥15 layui数据重载无效
  • ¥15 寻找了解qq家园纵横四海的程序猿。
  • ¥15 optisystem
  • ¥15 VB.NET画图时的撤销编程