zoukankan      html  css  js  c++  java
  • Android Wifi用法

    在Android里,所有的wifi操作都在 android.net.wifi包里,而常用的类也就只用几个,对于一般的开发人员来说,常用的操作也是有限的,不需要刻意的去记,

    用的时候现查就ok 了,下面是《Android应用开发揭秘》里面关于wifi的范例

    package com.yarin.android.Examples_08_08;  
    import java.util.List;  
    import android.content.Context;  
    import android.net.wifi.ScanResult;  
    import android.net.wifi.WifiConfiguration;  
    import android.net.wifi.WifiInfo;  
    import android.net.wifi.WifiManager;  
    import android.net.wifi.WifiManager.WifiLock;  
    public class WifiAdmin  
    {  
        //定义WifiManager对象  
        private WifiManager mWifiManager;  
        //定义WifiInfo对象  
        private WifiInfo mWifiInfo;  
        //扫描出的网络连接列表  
        private List<ScanResult> mWifiList;  
        //网络连接列表  
        private List<WifiConfiguration> mWifiConfiguration;  
        //定义一个WifiLock  
        WifiLock mWifiLock;  
        //构造器  
        public  WifiAdmin(Context context)  
        {  
            //取得WifiManager对象  
            mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);  
            //取得WifiInfo对象  
            mWifiInfo = mWifiManager.getConnectionInfo();  
        }  
        //打开WIFI  
        public void OpenWifi()  
        {  
            if (!mWifiManager.isWifiEnabled())  
            {  
                mWifiManager.setWifiEnabled(true);  
                  
            }  
        }  
        //关闭WIFI  
        public void CloseWifi()  
        {  
            if (!mWifiManager.isWifiEnabled())  
            {  
                mWifiManager.setWifiEnabled(false);   
            }  
        }  
        //锁定WifiLock  
        public void AcquireWifiLock()  
        {  
            mWifiLock.acquire();  
        }  
        //解锁WifiLock  
        public void ReleaseWifiLock()  
        {  
            //判断时候锁定  
            if (mWifiLock.isHeld())  
            {  
                mWifiLock.acquire();  
            }  
        }  
        //创建一个WifiLock  
        public void CreatWifiLock()  
        {  
            mWifiLock = mWifiManager.createWifiLock("Test");  
        }  
        //得到配置好的网络  
        public List<WifiConfiguration> GetConfiguration()  
        {  
            return mWifiConfiguration;  
        }  
        //指定配置好的网络进行连接  
        public void ConnectConfiguration(int index)  
        {  
            //索引大于配置好的网络索引返回  
            if(index > mWifiConfiguration.size())  
            {  
                return;  
            }  
            //连接配置好的指定ID的网络  
            mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);  
        }  
        public void StartScan()  
        {  
            mWifiManager.startScan();  
            //得到扫描结果  
            mWifiList = mWifiManager.getScanResults();  
            //得到配置好的网络连接  
            mWifiConfiguration = mWifiManager.getConfiguredNetworks();  
        }  
        //得到网络列表  
        public List<ScanResult> GetWifiList()  
        {  
            return mWifiList;  
        }  
        //查看扫描结果  
        public StringBuilder LookUpScan()  
        {  
            StringBuilder stringBuilder = new StringBuilder();  
            for (int i = 0; i < mWifiList.size(); i++)  
            {  
                stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":");  
                //将ScanResult信息转换成一个字符串包  
                //其中把包括:BSSID、SSID、capabilities、frequency、level  
                stringBuilder.append((mWifiList.get(i)).toString());  
                stringBuilder.append("/n");  
            }  
            return stringBuilder;  
        }  
        //得到MAC地址  
        public String GetMacAddress()  
        {  
            return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();  
        }  
        //得到接入点的BSSID  
        public String GetBSSID()  
        {  
            return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();  
        }  
        //得到IP地址  
        public int GetIPAddress()  
        {  
            return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();  
        }  
        //得到连接的ID  
        public int GetNetworkId()  
        {  
            return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();  
        }  
        //得到WifiInfo的所有信息包  
        public String GetWifiInfo()  
        {  
            return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();  
        }  
        //添加一个网络并连接  
        public void AddNetwork(WifiConfiguration wcg)  
        {  
            int wcgID = mWifiManager.addNetwork(wcg);   
            mWifiManager.enableNetwork(wcgID, true);   
        }  
        //断开指定ID的网络  
        public void DisconnectWifi(int netId)  
        {  
            mWifiManager.disableNetwork(netId);  
            mWifiManager.disconnect();  
        }  
    }  
  • 相关阅读:
    如何更专业的使用Chrome开发者工具
    Javascript中的Object对象
    【leetcode】 Remove Duplicates from Sorted List
    Windows上x86程序正常但x64程序崩溃问题
    Microsoft source-code annotation language (SAL) 相关
    Visual Studio 2013 编译CEF步骤
    C++中调用Python脚本
    MFCButton Memory leak(内存泄露问题)
    快速排序
    插入排序
  • 原文地址:https://www.cnblogs.com/zhoujian315/p/3435025.html
Copyright © 2011-2022 走看看