android3.0侦测WIFI连接状态

来源:互联网 发布:网络攻防技术有哪些 编辑:程序博客网 时间:2024/06/06 03:10
 由于工作需要,测试部门要求我们写一个程序能够侦测WIFI和BT(Bluetooth)的连接状态,我负责WIFI,另一个同事负责BT。

这里将写的侦测WIFI的代码贴上,希望对大家有用。

public  String IsWiFiConnected() {try {Log.v("ISWiFiConnected", "IsWiFiConnected() start");IConnectivityManager mFM = IConnectivityManager.Stub.asInterface(ServiceManager.getService("connectivity"));NetworkInfo FMState = mFM.getNetworkInfo(1);if (FMState.isConnected()){return "true";}} catch (Exception e) {e.printStackTrace();return "false";}return "false";}


上面这个方法就能判断出WIFI的连接状态。

 

另外由于有需求所以还写了一个方法,先用来判断WIFI是否处于开启状态,毕竟如果WIFI都没开的话,那肯定是不会有连接这一说的了

public  String IsWIFIOn() {android.os.Parcel data = android.os.Parcel.obtain();android.os.Parcel reply = android.os.Parcel.obtain();int result = -1;try {data.writeInterfaceToken("android.net.wifi.IWifiManager");IBinder mRemote = ServiceManager.getService(Context.WIFI_SERVICE);try {mRemote.transact(14, data, reply, 0);} catch (RemoteException e) {e.printStackTrace();}reply.readException();result = reply.readInt();} finally { reply.recycle(); data.recycle();}return (result == 3) ? "true" : "false";}

 

在你使用这两个方法是,我想说的是:

1.这是使用Android3.0,也就是用在平板上的。

2.你将这两个方法放入你的android工程中是,你切记要加上关于WIFI的权限

并且还有一点就是,你要import几样东西

import android.os.ServiceManager;

import android.net.NetworkInfo;
import android.net.IConnectivityManager;

这几个是关键,其他的你自己看着加。

3.你的APK要放到源码中去编译

最后,Good Luck!微笑

 

原创粉丝点击