暑假第十六天,今天电脑突然罢工了,显示器显示无信号输入,把主机打开弄了好长时间才弄好,弄好后悲催的发现eclipse的源文件夹没有了,顿时那个郁闷啊,为什么偏偏这么重要的工具就不翼而飞了呢,这丢失的也忒快了,幸好光哥那里有个备份,考过来,用的那个爽啊,嘿嘿,好了废话不多说了,看看今天的wifi操作的过程吧!
1.首先上一下布局main.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/startwifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开WIFI" />
<Button
android:id="@+id/stopwifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭wifi" />
<Button
android:id="@+id/checkwifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="检查wifi" />
<Button
android:id="@+id/scannwifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="扫描wifi" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您当前没有扫描wifi的状态:" />
</LinearLayout>
</LinearLayout>
</ScrollView>
2.看一看活动类的实现WIFIActivity.java
package com.wang;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class WIFIActivity extends Activity {
private Button startwifi = null;
private Button stopwifi = null;
private Button checkwifi = null;
private WifiManager wifiManager = null;
private Button scannwifi = null;
private StringBuffer stringBuffer = new StringBuffer();
private final static String TAG = "WIFIActivity";
private List<ScanResult> listResult;
private ScanResult myScanResult;
private TextView textView = null;
private String Result;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startwifi = (Button) findViewById(R.id.startwifi);
stopwifi = (Button) findViewById(R.id.stopwifi);
checkwifi = (Button) findViewById(R.id.checkwifi);
scannwifi = (Button) findViewById(R.id.scannwifi);
textView = (TextView) findViewById(R.id.textview);
startwifi.setOnClickListener(new OnClickListener() {//打开wifi
@Override
public void onClick(View v) {
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
System.out.println("wifi state---> "
+ wifiManager.getWifiState());
Toast.makeText(WIFIActivity.this,
"当前wifi网卡状态为:" + wifiManager.getWifiState(),
Toast.LENGTH_LONG).show();
}
});
stopwifi.setOnClickListener(new OnClickListener() {//关闭wifi
public void onClick(View v) {
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
System.out.println("wifi state---> "
+ wifiManager.getWifiState());
Toast.makeText(WIFIActivity.this,
"当前wifi网卡状态为:" + wifiManager.getWifiState(),
Toast.LENGTH_LONG).show();
}
});
checkwifi.setOnClickListener(new OnClickListener() {//检查wifi设备所处的状态
public void onClick(View v) {
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
System.out.println("wifi state---> "
+ wifiManager.getWifiState());
Toast.makeText(WIFIActivity.this,
"当前wifi网卡状态为:" + wifiManager.getWifiState(),
Toast.LENGTH_LONG).show();
}
});
scannwifi.setOnClickListener(new OnClickListener() {//扫描周围可用的wifi网络
@Override
public void onClick(View v) {
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
// // 每次点击扫描之前清空上一次的扫描结果
if (stringBuffer != null) {
stringBuffer = new StringBuffer();
}
// 开始扫描周边的wifi网络
wifiManager.startScan();
// 存放扫描结果的列表
listResult = wifiManager.getScanResults();
if (listResult != null) {
for (int i = 0; i < listResult.size(); i++) {
myScanResult = listResult.get(i);
stringBuffer = stringBuffer.append("wifi 编号NO.").append(i + 1)
.append("服务设置标志号 : ").append(myScanResult.SSID).append(
"基本服务单元标识符").append(myScanResult.BSSID)
.append("信息访问点的性能:").append(myScanResult.capabilities)
.append("信息访问点的频率:").append(myScanResult.frequency)
.append("水平强度:").append(myScanResult.level)
.append("wifi设备描述:").append(
myScanResult.describeContents())
.append("\n\n");
}
textView.setText(stringBuffer);
Log.i(TAG, stringBuffer.toString());
} else {
Log.i(TAG, "当前区域没有无线wifi网络");
}
}
});
}
}
3.亲,最重要的权限备忘喽!!
<!-- 访问权限1、访问联网权限 2、访问连接WIFI的权限 3、改变WIFI的权限 4、改变网络的权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
4:运行结果: