当前位置: 首页 > 知识库问答 >
问题:

在一加(Android6.0.1)上与ESP8266的Android连接

颛孙钱青
2023-03-14

Android 6.0上的一个改版在连接到访问点后进行Http调用时出现问题

复制的步骤:

  1. 连接到Esp8266接入点
  2. 对http://192.168.4.1(esp8266 accesspoint的默认网关)进行http调用,WIFI的IP地址是192.168.4.2
  3. 它抛出以下异常

我在Android5.1上也试过了,同样的代码完美无瑕

共有1个答案

荣德厚
2023-03-14

Errorenonet表示networkinfo.isconnected()返回false

指示是否存在网络连接,以及是否有可能建立连接和传递数据。在尝试执行数据事务之前,请始终调用此命令。

生成一个守护进程线程,等待Wifi网络(由SSID)“完全”连接(见上文),并使用true(成功连接)或false(超时或错误)调用callback

private ConnectivityManager connectivity = ...;
private WifiManager wifi = ...;

private void waitForWifi(final String ssid, final Consumer<Boolean> callback) {
    final Thread thread = new Thread(() -> {
        for (int i = 0; i < 300; i++) {
            final WifiInfo info = wifi.getConnectionInfo();
            NetworkInfo networkInfo = null;

            for (final Network network : connectivity.getAllNetworks()) {
                final NetworkCapabilities capabilities = connectivity.getNetworkCapabilities(network);

                if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
                    networkInfo = connectivity.getNetworkInfo(network);
                    break;
                }
            }

            if (info != null && info.ssid == ssid && networkInfo != null && networkInfo.isConnected()) {
                callback.accept(true);
                return;
            }

            Thread.sleep(100);
        }

        callback.accept(false);
    });

    thread.setDaemon(true);
    thread.start();
}
  • SSID必须用双引号括起来(请参见wificonfiguration.ssid)
  • ConnectivityManager.getAllNetworks()需要权限access_network_state
  • Wifimanager.getConnectionInfo()需要权限access_network_stateaccess_coarse_location(运行时权限)
 类似资料:
  • 我创造了一个新的世界。名为“new_game.xml”的xml文件和名为“new_game.java”的类不是主要活动 新游戏。xml: 新游戏。爪哇: 请你解释得很好 我戴上Androidanifest.xml 这是点击事件 意图myIntent=新意图(v.get上下文(),New_Game.class); startActivityForResult(myIntent,0);

  • 问题内容: 我观察到有两种方法可以在多个表上实现目标。结果集中的一列将被更新,并且可能需要速度。结果集可以通过以下方式获得: 情况1: 或者 情况2: 两者给出的结果相同,只是连接条件有所不同。哪个运行/执行速度更快? eval_id为,report_type和course_name为。 对于所使用的开发人员,情况1具有以下统计信息:[SELECT-3077行,0.048秒]提取了结果集…执行了1

  • 摘要 本文介绍了 RT-Thread AT 组件的基本知识和 AT 客户端的使用方法,帮助开发者更好地使用 RT-Thread AT 组件。 简介 为了方便用户使用 AT 命令,简单的适配不同的 AT 模块, RT-Thread 提供了 AT 组件用于 AT 设备的连接和数据通讯。AT 组件的实现包括客户端的和服务器两部分。对于嵌入式设备而言,更多的情况下设备使用 AT 组件作为客户端连接服务器设

  • 我是android开发的新手,在测试通过http连接发送短信并获得返回字符串时,我遇到了这个错误消息。下面是http API:

  • 我正在使用scrypt制作一个Android应用程序,它需要很长的时间来计算散列。我是这样称呼它的:

  • 我正在尝试在局域网或WLAN上查找并连接winform应用程序与android平板电脑。 我已经在Android上实现了一个tcp服务器,它正在监听端口,并等待请求。 然后,我尝试实现Winform应用程序,该应用程序应通过向该平板电脑发送请求并检查响应来尝试扫描网络以找到该平板电脑。 我停留在第二部分,如何检查网络并有效地将请求发送到此端口?我需要找出平板电脑的ip以便连接它们。 我找到了这个代