Android连接指定Wifi的方法

这篇博客详细介绍了Android中连接指定WiFi的步骤,包括如何开启WiFi、获取接入点信息和连接指定接入点。通过使用WifiManager接口,如isWifiApEnabled(), setWifiApConfiguration()等,以及处理权限需求,实现了在不同场景下(有密码和无密码)连接WiFi热点的功能。文中还提到了Android 5.1以后系统API的变化,以及如何监听WiFi状态变化的广播。" 8717624,1394243,SQL数据库迁移中文乱码问题及解决方案,"['SQL数据库', 'Azure', '数据库迁移', '字符编码']
摘要由CSDN通过智能技术生成

本篇博客主要记录一下Android中打开Wifi、获取Wifi接入点信息及连接指接入点的方法。

自己写的demo主要用于测试接口的基本功能,因此界面及底层逻辑比较粗糙。

demo的整体界面如下所示:

上图中的OPEN按键负责开启Wifi;
GET按键负责获取扫描到的接入点信息。

当获取到接入点信息后,我选取了其中的名称及信号强度,以列表的形式显示在主界面下方,如下图:

当点击列表中的Item时,就会去连接对应的接入点。
自己的逻辑比较简单,测试时的代码,假定连接的是不许要密码或密码已知的接入点。

demo的布局文件就不介绍了,就是Button和RecyclerView。
主要记录一下,使用到的核心代码。


        ....................
        //Open按键点击后的逻辑
        mOpenWifiButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //WifiManager的isWifiEnabled接口,用于判断Wifi开关是否已经开启
                if (!mWifiManager.isWifiEnabled()) {
                    //setWifiEnabled接口用于开启Wifi
                    mWifiManager.setWifiEnabled(true);
                    mMainHandler.post(mMainRunnable);
                }
            }
        });
        ....................

mMainRunnable的代码如下,主要用于判断Wifi是否开启成功。

    ................
    private Runnable mMainRunnable = new Runnable() {
        @Override
        public void run() {
            if (mWifiManager.isWifiEnabled()) {
                //开启成功后,使能Get按键
                mGetWifiInfoButton.setEnabled(true);
            } else {
                mMainHandler.postDelayed(mMainRunnable, 1000);
            }
        }
    };
    ...............

这部分代码,主要使用了WifiManager的公有接口,开启Wifi开关及判断开启状态。
这部分操作需要的权限是:

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

Get按键被点击后,对应的代码如下:

        .................
        mGetWifiInfoButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mWifiManager.isWifiEnabled()) {
                    //getScanResults接口将返回List<ScanResult>
                    //ScanResult中保留了每个接入点的基本信息
                    mScanResultList =
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值