当前位置: 代码迷 >> Android >> 转:android开发之wifi网络操作初始
  详细解决方案

转:android开发之wifi网络操作初始

热度:87   发布时间:2016-05-01 19:56:20.0
转:android开发之wifi网络操作初步

一,先了解wifi是什么

Wi-Fi是一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术。比较常见的就是一个无线路由器,在它发出的无线电波有效范围内都可以通过wifi方式连接到网络,如果无线路由器连接了一条ADSL线路或者其他的上网线路,则又被称为“热点”。

二,获取wifi网卡状态

wifi的状态就是定义的一系列整型常量,如下:

[java]?view plaincopy
  1. wifimanager?=?(WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);??
  2. ????????????????wifimanager.getWifiState();??

三,操作wifi的权限

四,更改wifi状态

对wifi网卡进行操作时要用到WifiManager来进行,怎么去获取这个对象呢?

[html]?view plaincopy
  1. wifimanager?=?(WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);??

如何打开wifi网卡呢?

[html]?view plaincopy
  1. wifimanager.setWifiEnabled(true);??

如何获取网卡当前状态?

[java]?view plaincopy
  1. wifimanager.getWifiState()??

如何关闭wifi网卡呢?

[java]?view plaincopy
  1. wifimanager.setWifiEnabled(false);??

五,实例演示,必须在真机上测试才行,模拟器不行。

[java]?view plaincopy
  1. import?android.app.Activity;??
  2. import?android.content.Context;??
  3. import?android.net.wifi.WifiManager;??
  4. import?android.os.Bundle;??
  5. import?android.view.View;??
  6. import?android.view.View.OnClickListener;??
  7. import?android.widget.Button;??
  8. import?android.widget.Toast;??
  9. ??
  10. public?class?TextWifi?extends?Activity?{??
  11. ????private?Button?openWifi?=?null;??
  12. ????private?Button?getWifiState?=?null;??
  13. ????private?Button?closeWifi?=?null;??
  14. ????private?WifiManager?wifimanager?=?null;??
  15. ????@Override??
  16. ????public?void?onCreate(Bundle?savedInstanceState)?{??
  17. ????????super.onCreate(savedInstanceState);??
  18. ????????setContentView(R.layout.main);??
  19. ????????openWifi?=?(Button)findViewById(R.id.openWifi);??
  20. ????????openWifi.setOnClickListener(new?OnClickListener()?{??
  21. ??????????????
  22. ????????????@Override??
  23. ????????????public?void?onClick(View?v)?{??
  24. ????????????????wifimanager?=?(WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);??
  25. ????????????????wifimanager.setWifiEnabled(true);??
  26. ????????????????Toast.makeText(TextWifi.this,?"Wifi已开启",?Toast.LENGTH_SHORT).show();??
  27. ????????????}??
  28. ????????});??
  29. ????????getWifiState?=?(Button)findViewById(R.id.getWifiState);??
  30. ????????getWifiState.setOnClickListener(new?OnClickListener()?{??
  31. ??????????????
  32. ????????????@Override??
  33. ????????????public?void?onClick(View?v)?{??
  34. ????????????????wifimanager?=?(WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);??
  35. ????????????????Toast.makeText(TextWifi.this,?"Wifi状态"+wifimanager.getWifiState(),?Toast.LENGTH_SHORT).show();??
  36. ????????????}??
  37. ????????});??
  38. ????????closeWifi?=?(Button)findViewById(R.id.closeWifi);??
  39. ????????closeWifi.setOnClickListener(new?OnClickListener()?{??
  40. ??????????????
  41. ????????????@Override??
  42. ????????????public?void?onClick(View?v)?{??
  43. ????????????????wifimanager?=?(WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);??
  44. ????????????????wifimanager.setWifiEnabled(false);??
  45. ????????????????Toast.makeText(TextWifi.this,?"Wifi已关闭",?Toast.LENGTH_SHORT).show();??
  46. ????????????}??
  47. ????????});??
  48. ????}??
  49. }??
[html]?view plaincopy
  1. <?xml?version="1.0"?encoding="utf-8"?>??
  2. <manifest?xmlns:android="http://schemas.android.com/apk/res/android"??
  3. ??????package="android.apps"??
  4. ??????android:versionCode="1"??
  5. ??????android:versionName="1.0">??
  6. ??
  7. ??
  8. ????<application?android:icon="@drawable/icon"?android:label="@string/app_name">??
  9. ????????<activity?android:name=".TextWifi"??
  10. ??????????????????android:label="@string/app_name">??
  11. ????????????<intent-filter>??
  12. ????????????????<action?android:name="android.intent.action.MAIN"?/>??
  13. ????????????????<category?android:name="android.intent.category.LAUNCHER"?/>??
  14. ????????????</intent-filter>??
  15. ????????</activity>??
  16. ??
  17. ????</application>??
  18. ????<uses-permission?android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>??
  19. ????<uses-permission?android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>??
  20. ????<uses-permission?android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>??
  21. ????<uses-permission?android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>??
  22. </manifest>??
  相关解决方案