`
warnerhit
  • 浏览: 123546 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转: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>  
分享到:
评论

相关推荐

    ANDROID 开发文档.pdf

    ### Android开发文档知识点总结 #### 一、系统与硬件配置 **1. 修改系统的USERDATA区域大小** - **概述**:调整系统USERDATA区域的大小,以适应不同的存储需求。 - **应用场景**:当需要增大应用程序存储空间或者...

    深入理解android-WIFI、NFC、GPS.pdf

    - **Netd概述**:Netd是Android系统中的网络守护进程,负责管理和控制各种网络操作。 - **背景知识**:介绍Netd的工作机制及其在网络管理中的作用。 **第3章:Wi-Fi基础知识** - **Wi-Fi简介**:概述Wi-Fi技术的...

    android-wifi-test-master.zip_android_wifi test

    在Android平台上进行Wi-Fi测试是一项重要的任务,尤其对于开发者来说,理解Wi-Fi信号的强度和距离如何影响设备...项目的实现涉及到Android开发的多个方面,包括Wi-Fi API的使用、位置服务的集成以及UI设计和性能优化。

    Android程序开发初级教程

    ### Android程序开发初级教程知识点详解...本教程覆盖了Android开发的初步知识,从平台介绍到环境搭建,再到第一个项目的创建,为初学者提供了全面的指导。深入理解这些知识点将为后续更复杂的开发工作奠定坚实的基础。

    android学习笔记

    综上所述,文档包含了Android开发中的一些关键组件和概念,如ContentProvider、XML解析、BroadcastReceiver、WiFi管理以及Socket通信,这些都是Android应用开发中不可或缺的部分,为开发者提供了在Android平台上进行...

    android-22源码

    Android源码是开发者深入理解操作系统工作原理、优化应用程序性能、解决特定问题的关键资源。这里我们主要探讨的是Android 5.0.1 (API Level 22) 的源代码,这个版本在Android发展历史上占有重要地位,引入了许多新...

    Android 驱动移植 英文

    此外,初步支持SoftAP(软件接入点)/Wi-Fi热点和WiFiDirect功能。 ##### Android WLAN子系统概览 Android的WLAN事件流从应用程序到硬件的路径,可以分为以下几个层次: - **应用程序**:设置/连接管理器位于`...

    android毕业设计模板PPT学习教案.pptx

    自 2007 年 11 月 5 日发布以来,Android 已经成为了全球最广泛使用的智能手机和平板电脑操作系统之一。 【毕业设计项目概述】 本次毕业设计的题目是“基于 Android 的无线控制程序设计”。目标是创建一个应用程序...

    基于Android手机与单片机的智能防盗系统设计.pdf

    - 当单片机通过传感器检测到异常信号(如有人闯入或异常振动),它将把信号转换为开关信号,并通过串口通信上传到与之相连的Wifi模块。 - Wifi模块将数据包发送至云端服务器,再由服务器转发至Android手机端的应用...

    Android内置GPS与百度GPS对比.zip

    在网络条件良好的情况下,百度GPS可以快速给出初步的位置信息,尤其在城市环境和室内,其定位速度往往优于内置GPS。此外,百度还提供了定位优化算法,如差分GPS技术,进一步提高了定位精度。 从源码角度来看,...

    最快学好android

    Java作为Android开发的基础语言,理解和掌握其语法和编程思想至关重要。 3. **理论与实践结合**: - 学习过程中应注重理论与实践相结合,通过编写简单的示例程序来加深对概念的理解。 - 通过实践体会各种技术的...

    谷歌眼镜GDK开发

    - **模拟器**:可以使用Android Studio的Glass模拟器进行初步调试,但最好在真实设备上进行最终测试。 - **Glassware Explorer**:在Glass设备上安装Glassware Explorer,方便安装、调试和卸载应用。 5. **发布与...

    android5.0.1-api21 官网源码

    《深入解析Android 5.0.1 (API 21) 源码》 Android 5.0.1 (API 21) 是Google在2014年底推出的一个重要版本,它带来了诸多新...对于想要深入Android开发、提高应用性能和用户体验的开发者来说,这是一个宝贵的资源库。

    ubuntu用wifi连接android调试程序的步骤

    确保你的Ubuntu开发PC和Android手机都已经连接到同一个Wi-Fi网络,并且网络连接稳定。确保手机开启了开发者选项中的USB调试。 2. **USB初步连接**: 使用USB数据线将Android设备连接到Ubuntu PC,这样可以通过ADB...

    基于Android的移动互联网健康监测系统的研究.pdf

    二是将初步处理后的数据通过3G、WiFi等移动网络发送至健康监测中心服务器,并接收反馈信息。客户端软件包含数据采集服务、数据初步处理、结果显示以及网络服务四个部分,实现了数据的获取、处理与传输。 健康监测...

    四川省科技创新苗子程资助项目申请书(基于android的移动场景响应及应用) 2.doc

    该项目申请书涉及的是一个基于Android平台的移动场景响应及应用的开发,主要目的是设计和实现一个能在各种场所,如餐厅、酒店、商场等使用的手机消费系统。系统采用B/S(Browser/Server)模式,集成了数据采集、分析...

    基于ARM的都市停车系统的设计与实现.pdf

    3.2 安卓客户端:基于Android平台开发的客户端应用程序,适应性强,易于更新和维护,同时兼容多种智能设备。 4. 系统优势 通过实际调查和实验,基于ARM的都市停车系统能显著提高车主的停车效率,减少寻找停车位的...

Global site tag (gtag.js) - Google Analytics