android wifi测试小程序

来源:互联网 发布:天刀捏脸数据女可爱 编辑:程序博客网 时间:2024/06/02 08:18
//比较简单,直接来代码
package com.myos;import java.util.List;import android.app.Activity;import android.net.wifi.WifiConfiguration;import android.net.wifi.WifiManager;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class WifiTestActivity extends Activity {private WifiManager mWifiManager;private Button bn_switch;private Button bn_scan;private TextView tx_scan;private WifiAdmin mWifiAdmin;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);mWifiAdmin = new WifiAdmin(WifiTestActivity.this);bn_switch = (Button) findViewById(R.id.button);bn_scan = (Button) findViewById(R.id.bn_scan);tx_scan = (TextView) findViewById(R.id.tx_scan);mWifiAdmin.Createwifilock();bn_switch.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (mWifiAdmin.isWifiEnabled()) {mWifiAdmin.CloseWife();//mWifiManager.setWifiEnabled(false);} else {mWifiAdmin.OpenWifi();//mWifiManager.setWifiEnabled(true);}}});bn_scan.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubmWifiAdmin.StartScan();StringBuilder s = mWifiAdmin.LookUpScan();List<WifiConfiguration> mListWifiCgn = mWifiAdmin.GetConfinguration();tx_scan.setText(s);}});}}
package com.myos;import java.util.List;import android.R.bool;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 boolean isWifiEnabled(){    return mWifiManager.isWifiEnabled();    }        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();        }    }  


<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.myos"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="8" />    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <activity            android:label="@string/app_name"            android:name=".WifiTestActivity" >            <intent-filter >                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    <uses-permission         android:name="android.permission.ACCESS_WIFI_STATE"    /><uses-permission         android:name="android.permission.CHANGE_WIFI_STATE">    </uses-permission>    <uses-permission     android:name="android.permission.WAKE_LOCK">    </uses-permission></manifest>


布局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" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" />    <Button         android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="按钮"/>    <Button        android:id="@+id/bn_scan"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="扫描"/>    <TextView        android:text="haha"        android:id="@+id/tx_scan"        android:layout_width="wrap_content"        android:layout_height="wrap_content"/>        </LinearLayout>