1、Android之Wifi学习教程在Android中对Wifi操作,android本身提供了一些有用的包,在.wifi包下面。简单介绍一下:大致可以分为四个主要的类ScanResult,wifiConfiguration,WifiInfo,WifiManager(1)ScanResult,主要是通过wifi 硬件的扫描来获取一些周边的wifi 热点的信息。(2)wifiConfiguration 在我们连通一个wifi 接入点的时候,需要获取到的一些信息。大家可以跟我们有线的设备进行对比一下。(3)WifiInfo 在我们的wifi 已经连通了以后,可以通过这个类获得一些已经连通的wifi 连接
2、的信息获取当前链接的信息,这里信息就比较简单了,这里简单介绍一下这里的方法: getBSSID() 获取BSSID getDetailedStateOf() 获取客户端的连通性 getHiddenSSID() 获得SSID 是否被隐藏 getIpAddress() 获取IP 地址 getLinkSpeed() 获得连接的速度 getMacAddress() 获得Mac 地址 getRssi() 获得802.11n 网络的信号 getSSID() 获得SSID getSupplicanState() 返回具体客户端状态的信息(4)wifiManager 这个不用说,就是用来管理我们的wifi 连
3、接,这里已经定义好了一些类,可以供我们使用。这里来说相对复杂,里面的内容比较多,但是通过字面意思,我们还是可以获得很多相关的信息。这个类里面预先定义了许多常量,我们可以直接使用,不用再次创建。介绍完了,开始写一个Demo吧。程序已启动效果图如下:看代码,其中有注释,我就不多说了。布局文件代码:1. 2. 5. 10. 16. 22. 28. 34. 40. /button41. /button42. /button43. /button44. /textview45. 46. 47. 复制代码上面布局文件中的ScrollView用来在Activity中显示右侧滚动条,如果数据多的话,则可以往下
4、滑动继续显示未显示完的数据。主页面代码:1. package org.sunchao;2. 3. import java.util.List;4. 5. import android.app.Activity;6. import .wifi.ScanResult;7. import android.os.Bundle;8. import android.view.View;9. import android.view.View.OnClickListener;10. import android.widget.Button;11. import android.widget.ScrollVie
5、w;12. import android.widget.TextView;13. import android.widget.Toast;14. 15. public class Main extends Activity implements OnClickListener 16. / 右侧滚动条按钮17. private ScrollView sView;18. private TextView allNetWork;19. private Button scan;20. private Button start;21. private Button stop;22. private Bu
6、tton check;23. private WifiAdmin mWifiAdmin;24. / 扫描结果列表25. private List list;26. private ScanResult mScanResult;27. private StringBuffer mStringBuffer = new StringBuffer();28. 29. /* Called when the activity is first created. */30. Override31. public void onCreate(Bundle savedInstanceState) 32. sup
7、er.onCreate(savedInstanceState);33. setContentView(R.layout.main);34. mWifiAdmin = new WifiAdmin(Main.this);35. init();36. 37. 38. / 按钮的初始化39. public void init() 40. sView = (ScrollView) findViewById(R.id.mScrollView);41. allNetWork = (TextView) findViewById(R.id.allNetWork);42. scan = (Button) find
8、ViewById(R.id.scan);43. start = (Button) findViewById(R.id.start);44. stop = (Button) findViewById(R.id.stop);45. check = (Button) findViewById(R.id.check);46. scan.setOnClickListener(Main.this);47. start.setOnClickListener(Main.this);48. stop.setOnClickListener(Main.this);49. check.setOnClickListen
9、er(Main.this);50. 51. 52. / WIFI_STATE_DISABLING 053. / WIFI_STATE_DISABLED 154. / WIFI_STATE_ENABLING 255. / WIFI_STATE_ENABLED 356. public void start() 57. mWifiAdmin.openWifi();58. Toast.makeText(Main.this, 当前Wifi网卡状态为 + mWifiAdmin.checkState(),59. Toast.LENGTH_SHORT).show();60. 61. 62. public vo
10、id stop() 63. mWifiAdmin.closeWifi();64. Toast.makeText(Main.this, 当前Wifi网卡状态为 + mWifiAdmin.checkState(),65. Toast.LENGTH_SHORT).show();66. 67. 68. public void check() 69. Toast.makeText(Main.this, 当前Wifi网卡状态为 + mWifiAdmin.checkState(),70. Toast.LENGTH_SHORT).show();71. 72. 73. public void getAllNetWorkList() 74. / 每次点击扫描之前清空上一次的扫描结果75. if (mStringBuffer != null) 76. mStringBuffer = new StringBuffer();77. 78. 79. / 开始扫描网络80. mWifiAdmin.startScan();81. list = mWifiAdmin.getWifiList();82. 83. if (list != null) 84. for (int i = 0; i mWifiConfiguration.size() 79.
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2