`
zkl_1987
  • 浏览: 243040 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android 笔记 --- wifi应用

阅读更多
Android-开启和关闭wifi的代码段


1、需要申请的权限
android.permission.ACCESS_WIFI_STATE 
android.permission.CHANGE_WIFI_STATE 
android.permission.WAKE_LOCK


2、获取WifiManager

wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);


3、开启、关闭wifi

if (wifiManager.isWifiEnabled()) {  
wifiManager.setWifiEnabled(false);  
} else {  
wifiManager.setWifiEnabled(true);  
}


4、注意

如果遇到force-close, 选wait即可, 因为启动wifi需要几秒钟, UI如果5妙钟还没反映的话, 系统会给你这个force close exception


Android Wifi的使用

package com.Aina.Android;  
 
import java.util.List;  
 
import android.content.Context;  
import android.net.wifi.ScanResult;  
import android.net.wifi.WifiConfiguration;  
import android.net.wifi.WifiInfo;  
import android.net.wifi.WifiManager;  
import android.net.wifi.WifiManager.WifiLock;  
 
/** 
 * com.Aina.Android Pro_wifi 
 *  
 * @author Aina.huang E-mail: 674023920@qq.com 
 * @version 创建时间:2010 Jul 21, 2010 12:29:00 PM 类说明 
 */  
public class WifiAdmin {  
 
    private WifiManager mWifiManager = null;  
    private WifiInfo mWifiInfo = null;  
    private List<ScanResult> mWifiList = null;// 扫描出的网络连接列表  
    private List<WifiConfiguration> mWifiConfiguration = null;// 网络连接列表  
    private WifiLock mWifiLock = null;  
 
    public WifiAdmin(Context mContext) {  
        mWifiManager = (WifiManager) mContext  
                .getSystemService(mContext.WIFI_SERVICE);  
        mWifiInfo = mWifiManager.getConnectionInfo();  
    }  
 
    public void OpenWifi() {  
        if (!mWifiManager.isWifiEnabled()) {  
            mWifiManager.setWifiEnabled(true);// 打开wifi  
        }  
    }  
 
    public void CloseWife() {  
        if (mWifiManager.isWifiEnabled()) {  
            mWifiManager.setWifiEnabled(false);// 关闭wifi  
        }  
    }  
 
    public void lockWifi() {  
        mWifiLock.acquire();// 锁定wifi  
    }  
 
    public void rlockWifi() {  
        if (mWifiLock.isHeld()) {  
            mWifiLock.acquire();// 解锁wifi  
        }  
    }  
 
    public void Createwifilock() {  
        mWifiLock = mWifiManager.createWifiLock("Testss");// 创建一个wifilock  
    }  
 
    public List<WifiConfiguration> GetConfinguration() {  
        return mWifiConfiguration;// 得到配置好的网络  
    }  
 
    public void ConnectConfiguration(int index) {  
        if (index > mWifiConfiguration.size()) {  
            return;  
        }  
        mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);//连接配置好的指定ID的网络  
    }  
    public void StartScan()  
    {  
        mWifiManager.startScan();  
        //得到扫描结果  
        mWifiList = mWifiManager.getScanResults();  
        //得到配置好的网络连接  
        mWifiConfiguration = mWifiManager.getConfiguredNetworks();  
    }  
    //得到网络列表  
    public List<ScanResult> GetWifiList()  
    {  
        return mWifiList;  
    }  
    //查看扫描结果  
    public StringBuilder LookUpScan()  
    {  
        StringBuilder stringBuilder = new StringBuilder();  
        for (int i = 0; i < mWifiList.size(); i++)  
        {  
            stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":");  
            //将ScanResult信息转换成一个字符串包  
            //其中把包括:BSSID、SSID、capabilities、frequency、level  
            stringBuilder.append((mWifiList.get(i)).toString());  
            stringBuilder.append("\n");  
        }  
        return stringBuilder;  
    }  
    //得到MAC地址  
    public String GetMacAddress()  
    {  
        return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();  
    }  
    //得到接入点的BSSID  
    public String GetBSSID()  
    {  
        return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();  
    }  
    //得到IP地址  
    public int GetIPAddress()  
    {  
        return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();  
    }  
    //得到连接的ID  
    public int GetNetworkId()  
    {  
        return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();  
    }  
    //得到WifiInfo的所有信息包  
    public String GetWifiInfo()  
    {  
        return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();  
    }  
    //添加一个网络并连接  
    public void AddNetwork(WifiConfiguration wcg)  
    {  
        int wcgID = mWifiManager.addNetwork(wcg);   
        mWifiManager.enableNetwork(wcgID, true);   
    }  
    //断开指定ID的网络  
    public void DisconnectWifi(int netId)  
    {  
        mWifiManager.disableNetwork(netId);  
        mWifiManager.disconnect();  
    }  
}





分享到:
评论

相关推荐

    Android代码-安卓版的局域网文件传输

    注意:安装应用程序后,安卓用户如发现程序无法访问文件系统,请检查手机的权限设置,确保给了程序相应的权限,程序以系统设置的默认存储位置根目录为路径访问起点 程序在以下情况均可工作: 手机-手机(WiFi) ...

    AndroidFTP-DataBackup:AndroidFTP-DataBackup用于使用手机上托管的FTP服务器将文件从android手机备份到笔记本电脑

    从Playstore下载WiFi FTP服务器,以在手机上创建FTP服务器。 Python模块: 安装Django pip install django 安装频道 pip install channels 安装适用于Python的Nmap扩展 pip install python-nmap 安装Dateutil pip ...

    Android应用源码之将手机摄像头获取的图片通过wifi发送到PC机上并进行显示.rar

    Android应用源码之将手机摄像头获取的图片通过wifi发送到PC机上并进行显示.rar

    Google Android SDK开发范例大全(完整版)

    虽然没有 Eclipse 和 Android Developer Tools 插件也可以开发 Android 应用程序,但是那样就需要熟悉 Android SDK。 Android SDK 是作为一个 ZIP 文件发布的,可以将该文件解压到硬盘上的一个目录中。由于有多个 ...

    Wifi-Remote-Control-For-Android

    现在从服务器应用程序的菜单中选择 wifi --&gt; 在你的安卓设备上启动安卓应用程序 --&gt; 在安卓设备中输入您的服务器应用程序生成的服务器IP地址 --&gt; 按下连接按钮 --&gt; 现在您可以从安卓设备的触摸板访问...

    android开发资料大全

    Android Wifi方法大全【总有一种方法适合你】 android开发环境搭建篇详尽的教程实例汇 图形图像之图像处理(缩放 旋转 转化) android开发之【腾讯微博android客户端开发】Parameter类和SyncHttp 网友自己写的...

    android-sensors-2-matlab:使用Sensorstream IMU + GPS应用程序通过UDP流读取Matlab中的手机传感器。-matlab开发

    使用Sensorstream IMU + GPS应用程序通过UDP流读取Matlab中的android手机传感器。 指示 单击此处下载存储库文件 将文件“ androidSensor2Matlab.m”保存在MATLAB路径中,或将当前路径添加到路径列表中。 更多...

    Android开发教程&笔记

    丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse 集成开发环境插件应用程序Android 会同一系列核心应用程序包一起发布,该应用程序包包括email 客户端,SMS 短消息程序,日历,地图,浏览器...

    android socket应用源程序

    android socket应用源程序,是我学习socket应用时候编写的,在PC机上下载一个testsocket软件,对应好IP和端口,就可以实现手机与PC机进行数据传输。本程序我是通过笔记本和手机通过无线路由器WIFI上网的状态下测试的...

    android的几个小应用程序

    CamScanner扫描全能王将手机变成便携随身扫描器,方便快捷地记录管理您的各种文档,收据,笔记和白板讨论等.并通过智慧精准的图像裁剪和图像增强演算法,保证您扫描的内容清晰可读。 -图像处理演算法自动裁剪图片、...

    access-brute-forcer:Android v7 +应用程序对主机执行字典暴力攻击

    Android v7 +应用程序对暴露给主机的主机执行字典暴力攻击: SMB Windows共享。 FTP服务器。 SSH访问。 该应用程序是使用Android Studio开发的,因此您可以将项目导入其中以编译APK捆绑包。 动机 开发此工具是...

    庆科EMW3081 WIFI模块技术资料包括模块封装库参考设计原理图数据手册测试报告Demo及SDK固件认证资料.zip

    庆科EMW3081 WIFI模块技术资料包括模块封装库参考设计原理图数据手册测试报告APP Demo及...应用笔记 开发板及文档 数据手册 测试报告 烧录方法 证书 Android APP Demo及SDK开发教程.rar iOS APP Demo 及SDK开发教程.rar

    Kannada-Dictionary:卡纳达语字典

    卡纳达语词典Android应用程序 功能性: 搜索卡纳达语单词的含义 添加新词义 注意:您需要安装或设置卡纳达语键盘 **** 设置 **** ** Android Studio ** 将Dictionary文件夹复制到您的android项目文件夹中, 打开...

    MAPMA:在Android手机上部署Web应用程序

    准备Android手机(是否已root) 笔记本电脑/电脑两个设备都连接到同一个wifi网络还有一点Linux知识,git 注意:在本文中,我部署了一个运行NodeJS的Web服务器,该平台只需要在android上设置到第5步即可。 2.在...

    坚果云windows客户端

    您也可轻松备份照片、笔记,并同步到电脑。丢掉USB数据线,让办公生活更简单。 坚果云支持Android等移动端、Windows等PC端、网页端所有操作系统和平台;离线收藏功能,文件夹WiFi下自动同步,无网络也可访问文件;...

    PythonWifiBulb:不支持。 用于控制“ MagicLight Wifi智能LED灯泡”以绕过Android或iOS应用程序的python模块

    无需使用移动应用程序即可控制“ MagicLight Wifi智能LED灯泡”的python脚本和类。 笔记 我自己是通过使用Wireshark反向工程网络流量来开发此库的。 直到最近,我才发现了与该库相同的目的,但是实现了更完整的实现...

    remotewebdesktop.apk 电脑远程控制安卓手机

    Android手机最强大的远程网络桌面,AppBrain中十大最热门软件之一。 它是基于Web,提供通过PC或笔记本电脑访问你的手机服务。它可以通过WiFi,USB或3G连接。 软件特点: - 网络短信:提供一个Outlook类似的接口来...

    blink:我的蓝牙Android遥控器,已准备好公开发布

    在Android AppStore上获取该应用程序: 获取服务器: 按照说明在专用的GitHub页面上获取服务器: : 享受! 变更日志 V1.0.1-2016年2月29日 错误修复:当您拖动鼠标并停止时,它会不时右键单击。 这可能很烦人。...

    基于物联网的户外环境检测装置(STM32、APP、WIFI)-电路方案

    通过各种传感器获取家庭内信息(温湿度信息、光照信息、PM2.5),用户在Android界面上可以对这些信息进行掌控。 功能介绍: 1、可实现环境监测系统的正常功能; 2、Andriod手机app远程显示与控制能够进行设置报警数值...

    Coding-Challenge:Android 编程挑战

    编码挑战Android 编程挑战实现的功能列表一世。 允许用户使用 Dropbox 凭据进行身份验证ii. 允许用户拍照三、 将照片上传到 Dropbox 上名为 Cilent Test 的目录四、 列出所有照片并允许用户查看它们。 [如果图像纹理...

Global site tag (gtag.js) - Google Analytics