這裏將寫的偵測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!