通常需要顯示是網絡連接狀態和電池的電量這兩個。
- #import "Foundation/Foundation.h"
- #import "UIKit/UIKit.h"
-
- typedef enum
- {
-
- NoNetWork = 0,
- ConnWiFi = 2,
- Conn3G = 1
- } NetState;
-
-
-
- float getBatteryLeve();
-
-
- bool isWIFIEnabled();
-
-
-
- bool is3GEnabled();
-
-
- NetState getNetState();
實現是用.mm來實現,就是調用一些ios現成的接口。
- #include "SystemInfo.h"
- #import "Reachability.h"
-
- NSString* testPage = @"www.baidu.com";
-
- float getBatteryLeve()
- {
- [[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];
- return [[UIDevice currentDevice] batteryLevel];
- }
-
-
- bool isWIFIEnabled()
- {
- return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
- }
-
-
- bool is3GEnabled()
- {
- return [[Reachability reachabilityForInternetConnection] isReachableViaWWAN];
- }
-
-
- NetState getNetState()
- {
-
- Reachability *r = [Reachability reachabilityWithHostname:testPage];
- switch ([r currentReachabilityStatus]) {
- case NotReachable:
-
- return NoNetWork;
- break;
- case ReachableViaWWAN:
-
- return Conn3G;
- break;
- case ReachableViaWiFi:
-
- return ConnWiFi;
- break;
- }
-
- }
其中Reachability類是官方給提供的一個測試網絡的類。使用時引入Reachability.h 和.m就可以,另外還要在Frameworks中加入SystemConfiguration.framework。一些使用可以百度,我下面的源碼中也能找到相應的項目。
源碼:http://download.csdn.net/detail/fansongy/5377491
沒有留言:
張貼留言