Android Wifi侦听器策略

Android Wifi侦听器策略,android,authentication,Android,Authentication,我是Android开发新手,我需要一些帮助来解决以下问题:我学院的Wi-Fi网络有一个专属门户,要求您输入用户名和密码以访问学校系统,所以我想我可以通过每次手机检测到与学校网络的连接(检查SSID)时向门户发送一个HTTP post请求和用户数据来自动化登录网络的过程,easy cake,对吗?问题是我不知道从哪里开始,Android是一个非常广泛的环境,所以我在这里向你寻求指导。我做了一些家庭作业,到目前为止,我得到的是: 我可以使用具有Connectivity Manager意图的Broa

我是Android开发新手,我需要一些帮助来解决以下问题:我学院的Wi-Fi网络有一个专属门户,要求您输入用户名和密码以访问学校系统,所以我想我可以通过每次手机检测到与学校网络的连接(检查SSID)时向门户发送一个HTTP post请求和用户数据来自动化登录网络的过程,easy cake,对吗?问题是我不知道从哪里开始,Android是一个非常广泛的环境,所以我在这里向你寻求指导。我做了一些家庭作业,到目前为止,我得到的是:

  • 我可以使用具有Connectivity Manager意图的BroadcastReceiver启动应用程序。我想它可能会给我太多我不需要的意图,因为我只需要Wifi。我读到了
  • 我可以使用AndroidHTTPClient发出HTTP请求
我计划的流程如下:用户第一次打开应用程序,然后输入用户名和密码,有一个自动连接的切换按钮,当您按下它时,它会变为“断开连接”(因为您一次只能连接一个具有相同凭据的设备,它会向网络的注销页面发送请求)。由于系统处于自动连接模式,每次手机连接到学校网络时,它都会发送请求,即使应用程序未运行

  • 首先,解决此类问题的最佳方法是什么
  • 我应该在何处(何时)存储凭据
  • 我应该在哪里提出请求?在接收方的onRecive()中?在活动中

我知道这就像是要求你解决我的问题,但我在这里尝试学习,我需要指导,以尽我所能使用这个软件。非常感谢您的输入:)

我将实现一个服务,该服务实现一个BroadcastReceiver来检查internet连接中的更改,该服务配置一个AsyncTask并执行它以向登录服务发出正确的请求

你检查过这是否真的可行吗?您是否了解HTTP请求的正确参数?您可以使用curl进行身份验证吗

我不知道Android是否有一个合适的机制来存储有价值的信息,但本质上,你把凭证放在哪里取决于安全风险的级别。我现在不会太注意这个问题——假设这些密码没有价值,应用程序也不会广泛传播。无论如何,您可以将一个二进制序列存储在一个静态变量中,然后使用用户密码对其进行异或运算,然后将其存储在另一个静态变量中。这对于简单的内存扫描应该足够了。我没有提到写入文件,因为我认为这种方式在安全性方面太危险了


顺便说一下,这看起来是一个很好的应用想法。您是否检查过是否有人已经制作了此功能?

这是一个wifi侦听器的工作示例。谢谢!是的,这是可能的,事实上,我已经为linux笔记本电脑制作了一个小bash脚本,它工作起来很有魅力。考虑到post请求是使用HTTP而不是HTTPS发出的,所以用户信息没有那么重要,我想用一个简单的SQLiteDatabase来存储它们。关于其他应用程序,我知道校园里有人做了一个iOS应用程序,并在github上发布了代码,但iOS和Android是不同的野兽。关于服务,我还需要一个活动来请求凭据,不是吗?是的,你需要一个活动来让用户输入凭据。