android Wifi 控制

原创 2012年03月29日 14:59:12

android 当中 wifi 控制非常简单。

在android 系统当中 wifi 有五种状态:

  
  // Wi-Fi AP is currently being disabled. The state will change to
    public static final int WIFI_AP_STATE_DISABLING = 0;
   // Wi-Fi AP is disabled.
    public static final int WIFI_AP_STATE_DISABLED = 1;
   // Wi-Fi AP is currently being enabled. The state will change to
    public static final int WIFI_AP_STATE_ENABLING = 2;
   // Wi-Fi AP is enabled.
    public static final int WIFI_AP_STATE_ENABLED = 3;
   // Wi-Fi AP is in a failed state. This state will occur when an error occurs during
    public static final int WIFI_AP_STATE_FAILED = 4;

可以通过系统调用去改变其状态进而控制wifi

实例效果如下:点击按钮来改变 wifi 状态,并用 Toast 打印出当前的 wifi 状态


 


代码如下

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/openWIFI"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="openWIFI" />

    <Button
        android:id="@+id/closeWIFI"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="closeWIFI" />

    <Button
        android:id="@+id/checkState"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="checkState" />

</LinearLayout>


wifiActivity.java

package cie.WIFI;

import cie.WIFI.R;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class WIFIActivity extends Activity {
    /** Called when the activity is first created. */

	private Button startButton = null;
	private Button stopButton = null;
	private Button checkButton = null;
	private WifiManager wifiManager = null;
	
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        startButton = (Button)findViewById(R.id.openWIFI);
        stopButton = (Button)findViewById(R.id.closeWIFI);
        checkButton = (Button)findViewById(R.id.checkState);
        
        startButton.setOnClickListener(new StartWifiListener());
        stopButton.setOnClickListener(new StopWifiListener());
        checkButton.setOnClickListener(new CheckWifiListener());
    }
	
	class StartWifiListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			wifiManager = (WifiManager)WIFIActivity.this.getSystemService(Context.WIFI_SERVICE);
			wifiManager.setWifiEnabled(true);
			System.out.println("wifi state ----" + wifiManager.getWifiState());
			Toast toast = Toast.makeText(WIFIActivity.this, "当前网卡状态为"+wifiManager.getWifiState(), Toast.LENGTH_LONG);
			toast.show();
		}

	}

	class StopWifiListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			wifiManager = (WifiManager)WIFIActivity.this.getSystemService(Context.WIFI_SERVICE);
			wifiManager.setWifiEnabled(false);
			System.out.println("wifi state ----" + wifiManager.getWifiState());
			Toast toast = Toast.makeText(WIFIActivity.this, "当前网卡状态为"+wifiManager.getWifiState(), Toast.LENGTH_LONG);
			toast.show();
		}

	}

	class CheckWifiListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			wifiManager = (WifiManager)WIFIActivity.this.getSystemService(Context.WIFI_SERVICE);
			System.out.println("wifi state ----" + wifiManager.getWifiState());
			Toast toast = Toast.makeText(WIFIActivity.this, "当前网卡状态为"+wifiManager.getWifiState(), Toast.LENGTH_LONG);
			toast.show();
		}

	}

}





版权声明:本文为博主原创文章,未经博主允许不得转载。

Android Wifi控制方法总结

写了一个工具类来辅助处理wifi相关状态控制和连接等功能,参考了网上的相关文件,并修改了里面的一些bug和问题,本文给出的方法均经过验证可用~package com.xys.jrdtraining.n...
  • x359981514
  • x359981514
  • 2014年09月25日 20:20
  • 4501

Android控制wifi开关

认识下Wifi的几种状态: 1. wifiManager.WIFI_STATE_DISABLED ;  (1)  关闭   2. wifiManager..WIFI_STATE_ENABLED ...
  • z437955114
  • z437955114
  • 2016年01月29日 17:39
  • 1287

用android控制arduino(wifi版)

 转载自:http://blog.sina.com.cn/s/blog_6611ddcf01012mku.html 要用android控制arduino,首先要买一张Ethernet Shie...
  • u010944680
  • u010944680
  • 2015年01月01日 11:07
  • 1143

Android环境下通过C框架层控制WIFI

本人是从事Linux嵌入式开发的,安卓wifi控制在安卓JAVA层已经做得非常成熟了,但我需要写一个控制wifi的程序,需要写一堆JAVA,我本是就不懂JAVA,所以决定跳过JAVA框架和应用层,直接...
  • edw200
  • edw200
  • 2016年08月12日 16:08
  • 833

android 通过adb命令控制wifi开关

手机必须root public static void setSettingsWifi() { ShellUtil.runRootCmd("svc wifi enable"); } ...
  • liu3364575
  • liu3364575
  • 2017年08月23日 17:47
  • 11547

手机 蓝牙 控制 继电器 无线门锁 物联网 安卓源码 安卓开发 Android WIFI控制 详细注释测试稳定无bug

一、功能: 1.Android WIFI连接与断开,保存连接IP及端口。 2.WIFI控制3个继电器 3.16进制发送指令,可以单条和多条发送,用逗号隔开。 4.16进制接收 二、源码如下: 登陆...
  • chenhao0568
  • chenhao0568
  • 2015年05月10日 09:34
  • 2481

android_wifi读书笔记之3-JNI层 分析

本文为读书笔记,整理自网络文献和源码   3 JNI层分析 frameworks/base/core/jni/android_net_wifi_Wifi.cpp 这个文件里面是调用HAL层的w...
  • joqian
  • joqian
  • 2014年05月27日 13:31
  • 1027

基于WIFI和android的智能手机开门设计

一 概述 wifi(wireless fidelity)即无线保真,是当今使用最广的一种短程无线网络传输技术。通过将有线网络信号转换成无线信号,供支持其技术的相关PC,手机,PAD等终端接收,目的是改...
  • GaotYuan
  • GaotYuan
  • 2016年02月22日 22:56
  • 1227

Android WiFi模块功能开发

Android wifi模块开发
  • free092875
  • free092875
  • 2016年10月11日 16:06
  • 4499

android-wifi模块篇之jni监控wifi网络连接、dhcpcd执行和power电源控制

浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power电源控制 ==================================================...
  • lushengchu2003
  • lushengchu2003
  • 2013年03月15日 18:42
  • 1592
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android Wifi 控制
举报原因:
原因补充:

(最多只允许输入30个字)