Android WIFI

作者: 鸿羽羽羽羽羽 | 来源:发表于2018-07-07 21:45 被阅读49次

    Android Wifi开发

    1.WIFI核心类WifiManager

    public class WifiManager

    extends Object

    的java.lang.object

    ↳ android.net.wifi.WifiManager

    这个类提供了管理Wi-Fi连接的所有方面的主要API。通过调用得到这个类的一个实例Context.getSystemService(Context.WIFI_SERVICE)。它涉及几类产品:

    配置网络列表。该列表可以查看和更新,单个条目的属性进行修改。

    当前活动的Wi-Fi网络,如果有的话。连接可以建立或拆除,并且有关网络的状态的动态信息可以查询。

    接入点的扫描的结果,包含足够的信息来什么接入点连接到决策。

    它定义了在任何类型的Wi-Fi状态变化的各种转播意向动作的名称。

         Wi-Fi具体操作时要使用的API。要执行一些与在抽象的层面与网络连接操作,使用ConnectivityManager

    常用方法:

    int addNetwork(WifiConfiguration config)添加一个新的网络描述为一套配置网络。

    boolean disableNetwork(int netId)禁用配置的网络。

    boolean disconnect()从当前活动的接入点撇清。

    boolean enableNetwork(int netId, boolean disableOthers)允许之前配置的网络与关联。

    List getConfiguredNetworks()返回请求者配置的所有网络的列表。

    WifiInfo getConnectionInfo()返回有关当前Wi-Fi连接的动态信息,如果有的话是积极的。

    DhcpInfo getDhcpInfo()从最后一次成功DHCP请求返回DHCP分配的地址,如果有的话。

    List getScanResults()返回最新的接入点扫描的结果。

    int getWifiState()获取Wi-Fi功能的状态。

    boolean isWifiEnabled()返回的Wi-Fi是否已启用或禁用。

    boolean reconnect()重新连接到当前活动的访问点上,如果我们目前正在断开。

    boolean removeNetwork(int netId)从配置网络的列表中删除指定的网络。

    boolean setWifiEnabled(boolean enabled)启用或禁用无线网络连接。

    boolean startScan()请求接入点的扫描。

    int updateNetwork(WifiConfiguration config)更新现有配置的网络的网络描述。

    2.添加权限


    3.开始wifi功能

    4.在onCreate方法中添加wifi状态监听器

            4.1.注册广播监听器

            4.2.广播接收者

            4.3.记得广播的取消注册监听

    5.关闭WiFi

    6.添加并连接wifi

            6.1点击连接wifi

            6.2在wifiHelper中实现addNetWorkWAP这个方法

            6.3创建一个wifi配置信息

    7.测试网络(使用Ping命令来测试)

    通过直接Ping一个网站来测试该wifi是否有网络

    8.断开某个已经连接的wifi

    9.搜索附近的wifi

    在Android6.0以后,默认是搜索不要附近WIFI的列表的,需要将其APP加载到系统的APP安装目录(/system/app)下,也可以添加如下权限,但是该权限需要用户设置同意,所以我们可以引导用户去启动位置的权限。

    在添加如下权限后,还需要提示用户让其打开手机的gps信号开关,否则将无法获取wifi列表。

            9.1扫描附近wifi

            9.2实现点击收索wifi

            9.3编写WifiAdatper

    10.点击连接附近wifi

            10.1点击搜索出来的wifi

            10.2初始化一个输入密码的对话框

            10.3在item点击事件中弹出对话框:

            10.4在wifiHelper中添加checkAuth方法,用来检查扫描出来的wifi是否需要密码

            10.5在wifiHelper中添加了方法connectSavedWifi,用来重连先前已经连接过的wifi:

            10.6弹出对话框供用户输入密码:

    相关文章

      网友评论

        本文标题:Android WIFI

        本文链接:https://www.haomeiwen.com/subject/ubfnuftx.html