久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Android 對(duì)Wifi進(jìn)行操作

 Babylly 2011-12-29
因?yàn)樾枰恢痹谂W(wǎng)絡(luò)的問(wèn)題,,今天看了一下Wifi的操作,,經(jīng)過(guò)整理,,做出來(lái)了一個(gè)類,可能不全,,但是個(gè)人感覺(jué)已經(jīng)完全能夠滿足需要了,,當(dāng)然,里面的方法也有可能是錯(cuò)誤的或者是不全的,,這個(gè)類我沒(méi)有進(jìn)行完整的測(cè)試,,只測(cè)試了其中的一些方法。

       其實(shí)操作Wifi也是很簡(jiǎn)單的,,主要使用以下幾個(gè)對(duì)象或變量:

       private WifiManager wifiManager;// 聲明管理對(duì)象OpenWifi
       private WifiInfo wifiInfo;// Wifi信息
       private List<ScanResult> scanResultList; // 掃描出來(lái)的網(wǎng)絡(luò)連接列表
       private List<WifiConfiguration> wifiConfigList;// 網(wǎng)絡(luò)配置列表
       private WifiLock wifiLock;// Wifi鎖


       其實(shí)這些不寫成一個(gè)單獨(dú)的類也是可以操作的,,介理這里為了使用方便,寫了一個(gè)統(tǒng)一的類對(duì)Wifi進(jìn)行操作,通過(guò)這些方法,,基本上可以得到所有操作的數(shù)據(jù),。

java代碼:
  1. package eoe.wifi;

  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 WifiManageClass {
  10. private WifiManager wifiManager;
  11. // 聲明管理對(duì)象
  12. private WifiInfo wifiInfo;
  13. // Wifi信息
  14. private List<ScanResult> scanResultList;
  15. // 掃描出來(lái)的網(wǎng)絡(luò)連接列表
  16. private List<WifiConfiguration> wifiConfigList;
  17. // 網(wǎng)絡(luò)配置列表
  18. private WifiLock wifiLock;
  19. // Wifi鎖
  20. public WifiManageClass(Context context) {
  21. this.wifiManager = (WifiManager) context .getSystemService(Context.WIFI_SERVICE);
  22. // 獲取Wifi服務(wù)
  23. // 得到Wifi信息
  24. this.wifiInfo = wifiManager.getConnectionInfo();
  25. // 得到連接信息
  26. }
  27. public boolean getWifiStatus() {
  28. return wifiManager.isWifiEnabled();
  29. } // 打開(kāi)/關(guān)閉
  30. wifi public boolean openWifi() {
  31. if (!wifiManager.isWifiEnabled()) {
  32. return wifiManager.setWifiEnabled(true);
  33. } else { return false; }
  34. }
  35. public boolean closeWifi() {
  36. if (!wifiManager.isWifiEnabled()) { return true; }
  37. else { return wifiManager.setWifiEnabled(false); }
  38. }
  39. // 鎖定/解鎖wifi
  40. // 其實(shí)鎖定WiFI就是判斷wifi是否建立成功,在這里使用的是held,,握手的意思acquire 得到,!

  41. public void lockWifi() { wifiLock.acquire(); }
  42. public void unLockWifi() {
  43. if (!wifiLock.isHeld()) {
  44. wifiLock.release();
  45. // 釋放資源
  46. }
  47. }
  48. // 我本來(lái)是寫在構(gòu)造函數(shù)中了,但是考慮到不是每次都會(huì)使用Wifi鎖,,所以干脆自己建立一個(gè)方法,!需要時(shí)調(diào)用,建立就OK

  49. public void createWifiLock() {
  50. wifiLock = wifiManager.createWifiLock("flyfly");
  51. // 創(chuàng)建一個(gè)鎖的標(biāo)志
  52. }
  53. // 掃描網(wǎng)絡(luò)
  54. public void startScan() {
  55. wifiManager.startScan();
  56. scanResultList = wifiManager.getScanResults();
  57. // 掃描返回結(jié)果列表
  58. wifiConfigList = wifiManager.getConfiguredNetworks();
  59. // 掃描配置列表
  60. }
  61. public List<ScanResult> getWifiList() {
  62. return scanResultList;
  63. }
  64. public List<WifiConfiguration> getWifiConfigList() {
  65. return wifiConfigList;
  66. }
  67. // 獲取掃描列表
  68. public StringBuilder lookUpscan() {
  69. StringBuilder scanBuilder = new StringBuilder();
  70. for (int i = 0; i < scanResultList.size(); i++) {
  71. scanBuilder.append("編號(hào):" + (i + 1));
  72. scanBuilder.append(scanResultList.get(i).toString());
  73. //所有信息
  74. scanBuilder.append("\n"); }
  75. return scanBuilder; }
  76. //獲取指定信號(hào)的強(qiáng)度
  77. public int getLevel(int NetId) { return scanResultList.get(NetId).level; }
  78. // 獲取本機(jī)Mac地址
  79. public String getMac() { return (wifiInfo == null) ? "" : wifiInfo.getMacAddress(); }
  80. public String getBSSID() { return (wifiInfo == null) ? null : wifiInfo.getBSSID(); }
  81. public String getSSID() { return (wifiInfo == null) ? null : wifiInfo.getSSID(); }
  82. // 返回當(dāng)前連接的網(wǎng)絡(luò)的ID
  83. public int getCurrentNetId() { return (wifiInfo == null) ? null : wifiInfo.getNetworkId(); }
  84. // 返回所有信息
  85. public String getwifiInfo() { return (wifiInfo == null) ? null : wifiInfo.toString(); }
  86. // 獲取IP地址
  87. public int getIP() { return (wifiInfo == null) ? null : wifiInfo.getIpAddress(); }
  88. // 添加一個(gè)連接
  89. public boolean addNetWordLink(WifiConfiguration config) {
  90. int NetId = wifiManager.addNetwork(config);
  91. return wifiManager.enableNetwork(NetId, true); }
  92. // 禁用一個(gè)鏈接
  93. public boolean disableNetWordLick(int NetId) {
  94. wifiManager.disableNetwork(NetId);
  95. return wifiManager.disconnect();
  96. }
  97. // 移除一個(gè)鏈接
  98. public boolean removeNetworkLink(int NetId) {
  99. return wifiManager.removeNetwork(NetId);
  100. }
  101. //不顯示SSID
  102. public void hiddenSSID(int NetId) {
  103. wifiConfigList.get(NetId).hiddenSSID=true;
  104. }
  105. //顯示SSID
  106. public void displaySSID(int NetId) { wifiConfigList.get(NetId).hiddenSSID=false; }
  107. }
復(fù)制代碼

       下面是操作這些所需要的權(quán)限,,當(dāng)然根據(jù)操作的內(nèi)容不同,可能權(quán)限也不同,,下面的權(quán)限僅供參考:

java代碼:
  1. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE">
  2. </uses-permission><uses-permission android:name="adnroid.permission.ACCESS_CHECKIN_PROPERTTES"></uses-permission><uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission><uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="adnroid.permission.CHANGE_WIFI_STATE"></uses-permission><uses-permission android:name="android.permission.MODIFY_PHONE_STATE"></uses-permission>
復(fù)制代碼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多