Android学习笔记-Wifi网络操作

发布时间:2020-06-15 17:39:12 作者:umgsai
来源:网络 阅读:627

Wifi网卡状态

  1. WIFI_STATE_DISABLED Wifi网卡不可用

  2. WIFI_STATE_DIABLING Wifi网卡正在关闭

  3. WIFI_STATE_ENABLED Wifi网卡可用

  4. WIFI_STATE_ENABLING Wifi网卡正在打开

  5. WIFI_STATE_UNKNOWN 未知网卡状态


操作Wifi网卡所需要的权限

  1. CHANGE_NETWORK_STATE 改变网络连接状态

  2. CHANGE_WIFI_STATE 改变Wifi连接状态

  3. ACCESS_NETWORK_STATE 允许应用获取网络状态信息

  4. ACCESS_WIFI_STATE 允许应用获取Wifi状态信息


界面activity_main.xml

 <TextView
        android:id="@+id/hello"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    
    <Button 
	android:id="@+id/startWifi"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/hello"
    android:text="启动手机的wifi网卡"
    />
<Button 
	android:id="@+id/stopWifi"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/startWifi"
    android:text="关闭手机的wifi网卡"
    />
<Button 
	android:id="@+id/checkWifi"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/stopWifi"
    android:text="检查当前wifi网卡状态"
    />

需要的权限

    <!-- 以下是使用wifi访问网络所需要的权限 -->
	<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>


MainActivity.java

public class MainActivity extends Activity {
	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.activity_main);
        startButton = (Button)findViewById(R.id.startWifi);
        stopButton = (Button)findViewById(R.id.stopWifi);
        checkButton = (Button)findViewById(R.id.checkWifi);
        startButton.setOnClickListener(new StartWifiListener());
        stopButton.setOnClickListener(new StopWifiListener());
        checkButton.setOnClickListener(new CheckWifiListener());
    }
    class StartWifiListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			wifiManager = (WifiManager)MainActivity.this.getSystemService(Context.WIFI_SERVICE);
			wifiManager.setWifiEnabled(true);
			System.out.println("wifi state --->" + wifiManager.getWifiState());
			Toast.makeText(MainActivity.this, "当前Wifi网卡状态为" + wifiManager.getWifiState(), Toast.LENGTH_SHORT).show();
		}
    }
    class StopWifiListener implements OnClickListener{

		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			wifiManager = (WifiManager)MainActivity.this.getSystemService(Context.WIFI_SERVICE);
			wifiManager.setWifiEnabled(false);
			System.out.println("wifi state --->" + wifiManager.getWifiState());
			/*
			getWifiState返回下面五个常量之一
			下面的五个常量都是在WifiManager类中预定义的
			public static final int WIFI_STATE_DISABLING = 0;
		    public static final int WIFI_STATE_DISABLED = 1;
		    public static final int WIFI_STATE_ENABLING = 2;
		    public static final int WIFI_STATE_ENABLED = 3;
		    public static final int WIFI_STATE_UNKNOWN = 4;
			 */
			Toast.makeText(MainActivity.this, "当前Wifi网卡状态为" + wifiManager.getWifiState(), Toast.LENGTH_SHORT).show();
		}
    }
    
    class CheckWifiListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			wifiManager = (WifiManager)MainActivity.this.getSystemService(Context.WIFI_SERVICE);
			System.out.println("wifi state --->" + wifiManager.getWifiState());
			Toast.makeText(MainActivity.this, "当前Wifi网卡状态为" + wifiManager.getWifiState(), Toast.LENGTH_SHORT).show();
		}
    	
    }
}


Android学习笔记-Wifi网络操作

Android学习笔记-Wifi网络操作




推荐阅读:
  1. 【学习笔记】Android权限操作
  2. Android mediaplayer学习笔记

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

网络 网卡 android

上一篇:jsp的内置对象有哪些?分别有什么作用?

下一篇:python创建二维列表的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》