概要:
首先給移動開發者推薦一個神器:Bmob,簽到app,安卓客戶端,服務端使用Bmob服務,利用辦公室wifi的MAC地址簽到,作者:JKXQJ
1、做這個app的原因:本周公司行政跟我說我這個月有很多次沒有簽到,于是決定周末抽時間做一個基于路由器mac地址的簽到app。
2、當天下午我就在公司畫好了草圖,準備周末做出來。
源碼下載
3、其實這個app很簡單,后臺用了bmob服務之后,開發效率翻倍,半天就做出來了。
4、核心代碼如下:
//檢查連接的是什么網絡? ? public? Integer checkWifi(Context context) {? ? ConnectivityManager ConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);? ? ? ? NetworkInfo mNetworkInfo =? ConnectivityManager.getActiveNetworkInfo();? ? ? ? ? ? if (mNetworkInfo.getState() == NetworkInfo.State.CONNECTED) {? ? ? ? ? ? ? ? if (mNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {? ? ? ? ? ? ? ? ? ? return 1;? //返回1,連接的是移動網絡? ? ? ? ? ? ? ? } else if (mNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {? ? ? ? ? ? ? ? ? ? return 2;? //返回2,連接的是wifi? ? ? ? ? ? ? ? }? ? ? ? ? ? } else {? ? ? ? ? ? ? ? return 3; //返回3,沒有連接。? ? ? ? ? ? }? ? ? ? return 3;? ? }//獲取IP? ? public String getLocalIpAddress() {? ? ? ? try {? ? ? ? ? ? for (Enumerationen = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {? ? ? ? ? ? ? ? NetworkInterface intf = en.nextElement();? ? ? ? ? ? ? ? for (EnumerationenumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e("IP 地址為:", ex.toString());
}
return null;
}
//獲取MAC
public String getLocalMacAddress() {
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}