Android WIFI检测与设置

简介:

WIFI是无线通信协议,可以允许手机直接连接到无线网络。在现在3G资费还比较贵的情况下,WIFI对于手机来说是很重要的,我们可以很方便的下载软件,音乐等资源。Android手机必须要有WIFI网卡才能支持WIFI。Android应用程序有时候需要对WIFI网卡进行操作,从而操作WIFI网络。

WIFI网卡有一些状态,由一系列的整形常量来表示。

常量名 常量值 网卡状态
WIFI_STATE_DISABLED 1 WIFI网卡不可用
WIFI_STATE_DISABLING 0 WIFI正在关闭
WIFI_STATE_ENABLED 3 WIFI网卡可用
WIFI_STATE_ENABLING 2 WIFI网卡正在打开
WIFI_STATE_UNKNOWN 4 未知网卡状态

 

在应用程序中操作WIFI网卡一定的权限。 
WIFI 的主要操作权限有四个: 
CHANGE_NETWORK_STATE :允许修改网络状态的权限。 
CHANGE_WIFI_STATE :允许修改 WIFI 状态的权限。 
ACCESS_NETWORK_STATE :允许访问网络状态的权限。 
ACCESS_WIFI_STATE :允许访问 WIFI 状态的权限。 
在AndroidManifest.xml文件中添加权限。

 

 
  1. XML/HTML代码  
  2.       
  3. <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>          
  4. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>          
  5. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>          
  6. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>     

改变WIFI网卡的状态 
对WIFI网卡进行操作需要通过WifiManager对象来进行,获取该对象的方法如下: 
WifiManager wifiManger=(WifiManger)Context.getSystemService(Service.WIFI-SERVICE); 
打开WIFI网卡 
wifiManager.setWifiEnabled(true); 
关闭WIFI网卡 
wifiManager.setWifiEnabled(false); 
获取网卡当前的状态 
wifiManager.getWifiState();

需要说明的是由于Android模拟器不支持WIFI和蓝牙所以程序执行时返回的网卡状态都是WIFI_STATE_UNKNOWN:网卡未知的状态。此程序需要在真机上进行调试才会显示正确的运行结果。

打开WIFI网卡:

 

 
  1. Java代码  
  2.       
  3. WifiManager wifiManager =(WifiManager).getSystemService(Context.WIFI_SERVICE);            
  4. wifiManager.setWifiEnabled(true);            
  5.       

关闭WIFI网卡:

 

 
  1. Java代码  
  2.       
  3. WifiManager wifiManager =(WifiManager).getSystemService(Context.WIFI_SERVICE);              
  4. wifiManager.setWifiEnabled(false);      

 


     本文转自06peng 51CTO博客,原文链接:http://blog.51cto.com/06peng/962819,如需转载请自行联系原作者





相关文章
|
4月前
|
XML API Android开发
码农之重学安卓:利用androidx.preference 快速创建一、二级设置菜单(demo)
本文介绍了如何使用androidx.preference库快速创建具有一级和二级菜单的Android设置界面的步骤和示例代码。
138 1
码农之重学安卓:利用androidx.preference 快速创建一、二级设置菜单(demo)
|
2月前
|
设计模式 Java Android开发
安卓应用开发中的内存泄漏检测与修复
【9月更文挑战第30天】在安卓应用开发过程中,内存泄漏是一个常见而又棘手的问题。它不仅会导致应用运行缓慢,还可能引发应用崩溃,严重影响用户体验。本文将深入探讨如何检测和修复内存泄漏,以提升应用性能和稳定性。我们将通过一个具体的代码示例,展示如何使用Android Studio的Memory Profiler工具来定位内存泄漏,并介绍几种常见的内存泄漏场景及其解决方案。无论你是初学者还是有经验的开发者,这篇文章都将为你提供实用的技巧和方法,帮助你打造更优质的安卓应用。
|
3月前
|
Android开发
Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果
本文介绍了 `SpannableString` 在 Android 开发中的强大功能,包括如何在单个字符串中应用多种样式,如颜色、字体大小、风格等,并提供了详细代码示例,展示如何设置文本颜色、添加点击事件等,助你实现丰富文本效果。
294 3
|
4月前
|
Java 网络安全 开发工具
UNITY与安卓⭐一、Android Studio初始设置
UNITY与安卓⭐一、Android Studio初始设置
|
3月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
157 0
|
4月前
|
开发工具 Android开发
Android项目架构设计问题之外部客户方便地设置回调如何解决
Android项目架构设计问题之外部客户方便地设置回调如何解决
29 0
|
4月前
|
数据可视化 Java 数据挖掘
Android项目架构设计问题之设置RecyclerView的LayoutManager如何解决
Android项目架构设计问题之设置RecyclerView的LayoutManager如何解决
38 0
|
5月前
|
监控 Java Android开发
探究Android应用开发中的内存泄漏检测与修复
在移动应用的开发过程中,优化用户体验和提升性能是至关重要的。对于Android平台而言,内存泄漏是一个常见且棘手的问题,它可能导致应用运行缓慢甚至崩溃。本文将深入探讨如何有效识别和解决内存泄漏问题,通过具体案例分析,揭示内存泄漏的成因,并提出相应的检测工具和方法。我们还将讨论一些最佳实践,帮助开发者预防内存泄漏,确保应用稳定高效地运行。
|
7月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
166 0
|
7月前
|
XML API Android开发
Android WIFI使用简述(上)
Android WIFI使用简述(上)
302 0