iOS獲取和監測設備基本信息——UIDevice的使用
iOS獲取和監測設備基本信息——UIDevice的使用
//獲取當前設備單例 + (UIDevice *)currentDevice; //獲取當前設備名稱 @property(nonatomic,readonly,strong) NSString *name; // e.g. "My iPhone" //獲取當前設備模式 @property(nonatomic,readonly,strong) NSString *model; // e.g. @"iPhone", @"iPod touch" //獲取本地化的當前設備模式 @property(nonatomic,readonly,strong) NSString *localizedModel; // localized version of model //獲取系統名稱 @property(nonatomic,readonly,strong) NSString *systemName; // e.g. @"iOS" //獲取系統版本 @property(nonatomic,readonly,strong) NSString *systemVersion; // e.g. @"4.0" //獲取設備方向 @property(nonatomic,readonly) UIDeviceOrientation orientation; //獲取設備UUID對象 @property(nullable, nonatomic,readonly,strong) NSUUID *identifierForVendor; //是否開啟監測電池狀態 開啟后 才可以正常獲取電池狀態 @property(nonatomic,getter=isBatteryMonitoringEnabled) BOOL batteryMonitoringEnabled NS_AVAILABLE_IOS(3_0); // default is NO //獲取電池狀態 @property(nonatomic,readonly) UIDeviceBatteryState batteryState NS_AVAILABLE_IOS(3_0); //獲取電量 @property(nonatomic,readonly) float batteryLevel NS_AVAILABLE_IOS(3_0);
設備方向的枚舉如下:
typedef NS_ENUM(NSInteger, UIDeviceOrientation) { UIDeviceOrientationUnknown, UIDeviceOrientationPortrait, // home鍵在下 UIDeviceOrientationPortraitUpsideDown, // home鍵在上 UIDeviceOrientationLandscapeLeft, // home鍵在右 UIDeviceOrientationLandscapeRight, // home鍵在左 UIDeviceOrientationFaceUp, // 屏幕朝上 UIDeviceOrientationFaceDown // 屏幕朝下 };
電池狀態的枚舉如下:
typedef NS_ENUM(NSInteger, UIDeviceBatteryState) { UIDeviceBatteryStateUnknown, UIDeviceBatteryStateUnplugged, // 放電狀態 UIDeviceBatteryStateCharging, // 充電未充滿狀態 UIDeviceBatteryStateFull, // 充電已充滿 };
下面的方法關于監測屏幕狀態:
//獲取是否開啟屏幕狀態更改通知 @property(nonatomic,readonly,getter=isGeneratingDeviceOrientationNotifications) BOOL generatesDeviceOrientationNotifications; //開始監測通知 - (void)beginGeneratingDeviceOrientationNotifications; //結束監測通知 - (void)endGeneratingDeviceOrientationNotifications;
下面這兩個放大與距離傳感器應用相關,可參考:http://my.oschina.net/u/2340880/blog/544341.
@property(nonatomic,getter=isProximityMonitoringEnabled) BOOL proximityMonitoringEnabled NS_AVAILABLE_IOS(3_0); //開啟距離傳感器 //是否觸發了距離傳感器 @property(nonatomic,readonly) BOOL proximityState
相關通知:
//設備方向改變時發送的通知 UIKIT_EXTERN NSString *const UIDeviceOrientationDidChangeNotification; //電池狀態改變時發送的通知 UIKIT_EXTERN NSString *const UIDeviceBatteryStateDidChangeNotification NS_AVAILABLE_IOS(3_0); //電量改變時發送的通知 UIKIT_EXTERN NSString *const UIDeviceBatteryLevelDidChangeNotification NS_AVAILABLE_IOS(3_0); //距離傳感器狀態改變時發送的通知 UIKIT_EXTERN NSString *const UIDeviceProximityStateDidChangeNotification NS_AVAILABLE_IOS(3_0);
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!