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

在手机中禁用wifi时,使用Android库连接到Android中的特定wifi

夏涵畅
2023-03-14

我在Android应用程序,涉及连接一个特定的WiFi SSID没有密码。每当用户进入应用程序时,应用程序都会通过BLE检测特定的信标。之后,该应用程序尝试使用WifiManager连接应用程序代码中编程的WiFi。在这里,我面临一些问题: 1)如果WiFi已经禁用在手机-应用程序启用WiFi并尝试连接到已经配置的WiFi(可能是字母顺序)。在这种情况下,它可能会连接另一个可用的WiFi,并在手机中配置,而不是连接到我的SSID。

2)如果WiFi启用手机:如果WiFi已经启用应用程序重新连接到我的SSID这是正确的。

3)WiFi禁用,我的SSID没有在手机中配置。它不会连接到WiFi。

病例1和3确实头痛。我在程序中的表现请参见代码:

// wifi
WifiManager wifiManager= (WifiManager) getSystemService(Context.WIFI_SERVICE);
// setup a wifi configuration
WifiConfiguration wc= new WifiConfiguration();
wc.SSID = "\"mySSID\"";

wc.status = WifiConfiguration.Status.ENABLED;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {}

wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
// connect to and enable the connection

int netId = wifiManager.addNetwork(wc);
wifiManager.enableNetwork(netId, true);
wifiManager.setWifiEnabled(true);
wifiManager.reconnect();

共有1个答案

汪辰阳
2023-03-14

应用程序从BLE检测信标后

>

  • 打开/启用Wifi,如果它关闭。
  • 禁用所有其他网络配置,除了具有Wi-fi SSID的配置。您应该使用networkId来标识配置。禁用配置的APIhttps://developer.android.com/reference/android/net/wifi/WifiManager.html#disableNetwork(int)或者您可以禁用所有其他配置,同时使用https://developer.android.com/reference/android/net/wifi/WifiManager.html#enableNetwork()

    如果SSID可用,您将连接到SSID。

    作为一个性能良好的应用程序,您应该在应用程序退出之前重新启用所有网络配置。

  •  类似资料:
    • Android将WIFI详细信息保存到WifiConfiguration类中。当WIFI为ON和SSID时,Pass-key详细信息与WIFI网络匹配,然后Android自动连接特定的WIFI网络。如何禁用该自动连接功能?问这个问题的目的是,我有两个配置的网络(已经保存),我想在按钮单击事件上连接WIFI,但android的自动连接功能与WIFI本身连接。

    • 目的尝试连接或切换到特定的WiFi网络,无需任何人为干预(用户名和密码除外)。 代码片段 主要活动。kt 类主活动:AppCompat活动(){ } AndroidManifest。xml权限 使用此代码,设备能够连接到WiFi网络,但需要手动关闭和打开WiFi。必须有更好的方法来连接或切换到特定的WiFi网络,而无需任何手动操作。 当前流程: 运行应用程序并单击主屏幕上的按钮连接到WiFi。 转

    • 是否可以在应用程序中禁用特定activity的home键,就像我试过 设置为默认启动程序一样,但在所有activity中,home键将被设置为默认启动程序,而不是我只需要禁用特定activity的home键。有谁能帮我一下吗?

    • 我实际上是在编程一些东西,不让用户访问Android原生wifi连接页面,所以我在我的Android应用程序中编程。它扫描可用的无线网络,将其显示在列表视图中,然后单击要连接的网络。 事实上,除了我的连接功能之外,一切都很好,这使得我的应用程序崩溃,所以如果你有任何想法...下面是代码(这是用户输入网络通行证后调用的函数)和堆栈跟踪: 堆栈跟踪:

    • 问题内容: 我需要一个有关如何通过wifi在android上处理数据的教程。Fe,我需要向PC发送一些消息并接收其他消息。我应该如何建立连接?我应该怎么做才能传输数据?如何传输? 对不起,这个假人的问题,但是我找不到好的手册。我将不胜感激,因为它提供了尽可能详尽的手册,或者提供了一些有关建立wifi连接和发送/接收简单消息的简单示例。 问题答案: 您无需使用任何API即可连接到wifi,仅当您想在

    • 这个问题只是当WIFI被禁用并且phone正在使用移动数据的时候。如果我有WIFI连接,那么应用程序可以正常工作。 以下是代码详细信息: 清单: uses-permission Android:name=“android.permission.internet” uses-permissionandroid:name=“android.permission.access_network_state