如何对 android 进行编程以查找特定网络?

2024-04-21

我的应用程序仅在校园网络上才能访问校园数据。当在公共 wifi 或 3g 网络上运行应用程序时,应用程序将挂起然后强制关闭。我如何对我的应用程序进行编程以检查该专用网络/wifi或检查android当前使用的连接,如果不等于“校园wifi”那么......?


根据你所说的,我认为你想强制应用程序仅使用校园 wifi。

所以你来吧

创建 WifiConfiguration 实例:

String networkSSID = "put network SSID here";
String networkPass = "put network password here";

WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\"";   //ssid must be in quotes

然后,对于 WEP 网络,您需要执行以下操作:

conf.wepKeys[0] = "\"" + networkPass + "\""; 
conf.wepTxKeyIndex = 0;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); 

对于 WPA 网络,您需要添加如下密码:

conf.preSharedKey = "\""+ networkPass +"\"";

对于开放网络,您需要执行以下操作:

conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);

然后,您需要将其添加到 Android wifi 管理器设置中:

WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); 
wifiManager.add(conf);

最后,您可能需要启用它,以便 Android 连接到它:

List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
    if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
         wm.disconnect();
         wm.enableNetwork(i.networkId, true);
         wm.reconnect();                

         break;
    }           
 }

请注意,对于 WEP,如果您的密码是十六进制,则无需将其用引号引起来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对 android 进行编程以查找特定网络? 的相关文章

随机推荐

  • ASP.NET MVC Razor 渲染额外空白

    在 Asp net MVC 中 Razor 在文本块之间插入额外的空格 我想以这种方式呈现一个列表 1 2 3 但得到 1 2 3 for int i 1 i lt 3 i
  • 替换字符串中的多个字符 (XSLT)

    我需要能够替换某些字符 以便我可以将它们用作 CSS 类 我有诸如类 名称 类名之类的字符串 这些字符串不是有效的 CSS 类 据我所知 如何使用替换功能来替换多个字符 E g translate className would repla
  • 如何在谷歌同意屏幕中添加徽标?

    我已经在谷歌开发者控制台中创建了项目 现在我想在同意屏幕中设置我的徽标 我的计算机上有徽标 同意屏幕上的徽标字段需要 URL 有什么方法可以在我的计算机上的同意屏幕上设置徽标吗 我还尝试在谷歌驱动器上上传图像并将其共享链接放在徽标字段中 您
  • 使用 dom4j DOMDocument 提供 validator.validate(DOMSource) 在 java 1.6 中失败(不允许 xsi:noNamespaceSchemaLocation),在 1.5 中有效

    使用 dom4j DOMDocument 提供 validator validate DOMSource 在 java 1 6 中失败 不允许 xsi noNamespaceSchemaLocation 出现在根元素中 在 1 5 中有效
  • “驱动程序未定义”Python/Selenium

    我想在 Python 上使用 Selenium 但有一条警告消息 driver webdriver Chrome D Selenium Chrome chromedriver exe NameError 名称 driver 未定义 我已经安
  • 更改 Hibernate 继承中的子类型

    我想在 Play Framework 中使用 Hibernate 建模三个类 Entity Inheritance strategy InheritanceType JOINED public class SupplyArea extend
  • 使用 TSQL 解压缩值

    如何解压缩存储过程中的 varbinary max 值 我想在 TSQL 代码中实现或调用gunzip 算法 最好不启用 CLR 调查 sp OACreatehttp msdn microsoft com en us library ms1
  • React 无法读取未定义的属性映射

    我对反应很陌生 我正在尝试从 Rails api 引入数据 但我收到了错误TypeError Cannot read property map of undefined 如果我使用反应开发工具 我可以看到状态 如果我在控制台中使用它 我可以
  • MVC 1 和 IIS 7 错误代码 4011

    我有一个在 IIS 7 5 上运行的 MVC 1 应用程序 一些操作完成后 我得到了一个使用 System Web Routing RouteValueDictionary 作为第二个参数的 RedirectToRoute 调用 基本上 它
  • 从数据帧中分层随机抽样

    我有一个格式为的数据框 head subset ants 0 1 1 0 1 age 1 2 2 1 3 lc 1 1 0 1 0 我需要根据年龄和 lc 创建带有随机样本的新数据框 例如 我想要来自age 1和lc 1的30个样本 来自a
  • Python2 和 Python3 使用带有查找和索引的映射时的区别

    给定一个模式和一个字符串str 求如果str遵循相同的模式 这里的 follow 表示完全匹配 这样在pattern中的字母和pattern中的非空单词之间存在双射str 例子 pattern abba str dog cat cat do
  • React-Redux 应用程序中的 OpenID Connect SSO

    我正在尝试使用 OpenID Connect 提供程序在我的 React Redux 应用程序上实现 SSO 目的是保护所有组件 并在会话结束时将用户重定向到身份提供者的登录页面 这就是为什么我不能在应用程序中拥有专用的登录页面 组件 我读
  • 使用平均值填充 pandas 数据框中的缺失值

    datetime 2012 01 01 125 5010 2012 01 02 NaN 2012 01 03 125 5010 2013 01 04 NaN 2013 01 05 125 5010 2013 02 28 125 5010 2
  • 蓝牙串行插件不适用于 ionic

    我正在尝试将蓝牙集成到我的离子应用程序中 以便它可以从蓝牙设备接收数据 我尝试使用蓝牙插件 但在 PC 和 Android 设备上都出现了一堆错误 我已经使用以下命令安装了蓝牙串行 cordova 插件添加 com megster cord
  • typedef 如何用于函数指针

    我想我可能患有可怕的 意外程序员 病 至少在 typedef 和函数指针方面是这样 因此 我一直在尝试涉及这些的各种组合 以根据我得到的所有输出来分析结果 但当我不断尝试不同的组合时 我现在没有分析结果 而是迷失在过程中 我希望你们能帮我解
  • 如何 clickElement() 并在同一选项卡中打开链接,而不是在新窗口中?

    我的网页中有以下 html 元素 a target self href View Data Set a 我在 Rselenium 中使用以下命令来查找该标签 webElem lt remDr findElement using xpath
  • 禁用 Thread.sleep()

    我想禁用在 java 项目中使用 Thread sleep 的可能性 并使用我自己的方法 sleep int time String info 这将等待给定的时间 并打印信息为什么需要在这里等待 正在禁用Thread sleep 可能的 如
  • QueryBuilder/Doctrine 选择加入 groupby

    所以最近我一直在思考 但还找不到这个问题的解决方案 因为我缺乏对doctrine2和symfony查询生成器的开发 我有 2 张桌子 目标 id user id target value 储蓄 id goal id 金额 我需要从目标中进行
  • 没有可用于当前线程的实际事务的 EntityManager - 无法可靠地处理“刷新”调用

    一些背景信息 我正在尝试将一个大项目从 Hibernate 3 6 8 迁移到 5 2 5 包括 JPA 升级 2 0 到 2 1 Spring 3 2 3 到 4 3 5 并且面临严重的问题 到目前为止 Spring 和 Hibernat
  • 如何对 android 进行编程以查找特定网络?

    我的应用程序仅在校园网络上才能访问校园数据 当在公共 wifi 或 3g 网络上运行应用程序时 应用程序将挂起然后强制关闭 我如何对我的应用程序进行编程以检查该专用网络 wifi或检查android当前使用的连接 如果不等于 校园wifi