Android学习笔记(二十一)

Wifi网络操作

 

WifiActivity

package org.wp.activity;

import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class WifiActivity extends Activity {
	private static final String TAG = "WifiActivity";
	private Button startButton;
	private Button endButton;
	private Button checkButton;
	private WifiManager wifiManager;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		startButton = (Button) this.findViewById(R.id.startWifi);
		endButton = (Button) this.findViewById(R.id.endWifi);
		checkButton = (Button) this.findViewById(R.id.checkWifi);

		startButton.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				wifiManager = (WifiManager) WifiActivity.this
						.getSystemService(Context.WIFI_SERVICE);
				wifiManager.setWifiEnabled(true);
				Log.i(TAG, "Wifi state ===>" + getWifiState(wifiManager.getWifiState()));
				Toast.makeText(WifiActivity.this, getWifiState(wifiManager.getWifiState()),
						Toast.LENGTH_SHORT).show();
			}
		});

		endButton.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				wifiManager = (WifiManager) WifiActivity.this
						.getSystemService(Context.WIFI_SERVICE);
				wifiManager.setWifiEnabled(false);
				Log.i(TAG, "Wifi state ===>" + getWifiState(wifiManager.getWifiState()));
				Toast.makeText(WifiActivity.this, getWifiState(wifiManager.getWifiState()),
						Toast.LENGTH_SHORT).show();
			}
		});

		checkButton.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				wifiManager = (WifiManager) WifiActivity.this
						.getSystemService(Context.WIFI_SERVICE);
				Log.i(TAG, "Wifi state ===>" + getWifiState(wifiManager.getWifiState()));
				Toast.makeText(WifiActivity.this, getWifiState(wifiManager.getWifiState()),
						Toast.LENGTH_SHORT).show();
			}
		});
	}

	private static String getWifiState(Integer state) {
		switch (state) {
		case WifiManager.WIFI_STATE_DISABLING:
			return "当前Wifi网卡状态为正在关闭中";
		case WifiManager.WIFI_STATE_DISABLED:
			return "当前Wifi网卡状态为关闭状态";
		case WifiManager.WIFI_STATE_ENABLING:
			return "当前Wifi网卡状态为正在打开中";
		case WifiManager.WIFI_STATE_ENABLED:
			return "当前Wifi网卡状态为打开状态";
		default:
			return "Unknown Wifi State";
		}
	}
}

 

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
	<Button
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="启动手机Wifi网卡"
		android:id="@+id/startWifi"
		/>
	<Button
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="关闭手机Wifi网卡"
		android:id="@+id/endWifi"
		/>
	<Button
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="检查当前手机Wifi网卡状态"
		android:id="@+id/checkWifi"
		/>		
</LinearLayout>

 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="org.wp.activity" android:versionCode="1" android:versionName="1.0">
	<application android:icon="@drawable/icon" android:label="@string/app_name">
		<activity android:name=".WifiActivity" android:label="@string/app_name">
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
	</application>
	<!-- 使用Wifi访问网络所需要的权限 -->
	<!-- Allows applications to change network connectivity state -->
	<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
	<!-- Allows applications to change Wi-Fi connectivity state -->
	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
	<!-- Allows applications to access information about networks -->
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
	<!-- Allows applications to access information about Wi-Fi networks -->
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
	<uses-sdk android:minSdkVersion="4" />
</manifest>

 

 

 

你可能感兴趣的:(xml,android,.net,OS,Access)