找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3234|回复: 0
打印 上一主题 下一主题
收起左侧

Android WiFi 应用程序例子

[复制链接]
跳转到指定楼层
楼主
ID:104835 发表于 2016-2-2 02:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先需要强调一点的是wifi只能在真机上测试!         在Android里,所有的wifi操作都在android.net.wifi包里,而常用的类也就只用几个,对于一般的开发人员来说,常用的操作也是有限的,不需要刻意的去记,用的时候现查就ok了,下面是《Android应用开发揭秘》里面关于wifi的范例,个人感觉还挺齐全,跟大家分享一下!
  1.     package com.yarin.android.Examples_08_08;   
  2.     import java.util.List;   
  3.     import android.content.Context;   
  4.     import android.net.wifi.ScanResult;   
  5.     import android.net.wifi.WifiConfiguration;   
  6.     import android.net.wifi.WifiInfo;   
  7.     import android.net.wifi.WifiManager;   
  8.     import android.net.wifi.WifiManager.WifiLock;   
  9.     public class WifiAdmin   
  10.     {   
  11.         //定义WifiManager对象     
  12.         private WifiManager mWifiManager;   
  13.         //定义WifiInfo对象     
  14.         private WifiInfo mWifiInfo;   
  15.         //扫描出的网络连接列表     
  16.         private List<ScanResult> mWifiList;   
  17.         //网络连接列表     
  18.         private List<WifiConfiguration> mWifiConfiguration;   
  19.         //定义一个WifiLock     
  20.         WifiLock mWifiLock;   
  21.         //构造器     
  22.         public  WifiAdmin(Context context)   
  23.         {   
  24.             //取得WifiManager对象     
  25.             mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);   
  26.             //取得WifiInfo对象     
  27.             mWifiInfo = mWifiManager.getConnectionInfo();   
  28.         }   
  29.         //打开WIFI     
  30.         public void OpenWifi()   
  31.         {   
  32.             if (!mWifiManager.isWifiEnabled())   
  33.             {   
  34.                 mWifiManager.setWifiEnabled(true);   
  35.                     
  36.             }   
  37.         }   
  38.         //关闭WIFI     
  39.         public void CloseWifi()   
  40.         {   
  41.             if (!mWifiManager.isWifiEnabled())   
  42.             {   
  43.                 mWifiManager.setWifiEnabled(false);     
  44.             }   
  45.         }   
  46.         //锁定WifiLock     
  47.         public void AcquireWifiLock()   
  48.         {   
  49.             mWifiLock.acquire();   
  50.         }   
  51.         //解锁WifiLock     
  52.         public void ReleaseWifiLock()   
  53.         {   
  54.             //判断时候锁定     
  55.             if (mWifiLock.isHeld())   
  56.             {   
  57.                 mWifiLock.release();   
  58.             }   
  59.         }   
  60.         //创建一个WifiLock     
  61.         public void CreatWifiLock()   
  62.         {   
  63.             mWifiLock = mWifiManager.createWifiLock("Test");   
  64.         }   
  65.         //得到配置好的网络     
  66.         public List<WifiConfiguration> GetConfiguration()   
  67.         {   
  68.             return mWifiConfiguration;   
  69.         }   
  70.         //指定配置好的网络进行连接     
  71.         public void ConnectConfiguration(int index)   
  72.         {   
  73.             //索引大于配置好的网络索引返回     
  74.             if(index > mWifiConfiguration.size())   
  75.             {   
  76.                 return;   
  77.             }   
  78.             //连接配置好的指定ID的网络     
  79.             mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);   
  80.         }   
  81.         public void StartScan()   
  82.         {   
  83.             mWifiManager.startScan();   
  84.             //得到扫描结果     
  85.             mWifiList = mWifiManager.getScanResults();   
  86.             //得到配置好的网络连接     
  87.             mWifiConfiguration = mWifiManager.getConfiguredNetworks();   
  88.         }   
  89.         //得到网络列表     
  90.         public List<ScanResult> GetWifiList()   
  91.         {   
  92.             return mWifiList;   
  93.         }   
  94.         //查看扫描结果     
  95.         public StringBuilder LookUpScan()   
  96.         {   
  97.             StringBuilder stringBuilder = new StringBuilder();   
  98.             for (int i = 0; i < mWifiList.size(); i++)   
  99.             {   
  100.                 stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":");   
  101.                 //将ScanResult信息转换成一个字符串包     
  102.                 //其中把包括:BSSID、SSID、capabilities、frequency、level     
  103.                 stringBuilder.append((mWifiList.get(i)).toString());   
  104.                 stringBuilder.append("/n");   
  105.             }   
  106.             return stringBuilder;   
  107.         }   
  108.         //得到MAC地址     
  109.         public String GetMacAddress()   
  110.         {   
  111.             return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();   
  112.         }   
  113.         //得到接入点的BSSID     
  114.         public String GetBSSID()   
  115.         {   
  116.             return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();   
  117.         }   
  118.         //得到IP地址     
  119.         public int GetIPAddress()   
  120.         {   
  121.             return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();   
  122.         }   
  123.         //得到连接的ID     
  124.         public int GetNetworkId()   
  125.         {   
  126.             return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();   
  127.         }   
  128.         //得到WifiInfo的所有信息包     
  129.         public String GetWifiInfo()   
  130.         {   
  131.             return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();   
  132.         }   
  133.         //添加一个网络并连接     
  134.         public void AddNetwork(WifiConfiguration wcg)   
  135.         {   
  136.             int wcgID = mWifiManager.addNetwork(wcg);     
  137.             mWifiManager.enableNetwork(wcgID, true);     
  138.         }   
  139.         //断开指定ID的网络     
  140.         public void DisconnectWifi(int netId)   
  141.         {   
  142.             mWifiManager.disableNetwork(netId);   
  143.             mWifiManager.disconnect();   
  144.         }   
  145.     }   
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表