IOS设备 UIDevice 获取操作系统 版本 电量 临近手机触发消息检测 (真机亲测可用)
- (void)viewDidLoad
{
[super viewDidLoad];
// 操作系统
NSString * osName =[[UIDevice currentDevice]systemName];
// 操作系统版本
NSString * systemVersion =[[UIDevice currentDevice]systemVersion];
NSLog(@"os =%@ ",osName);
NSLog(@"version =%@",systemVersion);
// IOS设备模型
NSString *iosmodel =[[UIDevice currentDevice]model];
NSLog(@"%@",iosmodel);
// 电量的范围从0.0(全部泻出)-1.0(100%)在访问这个属性之前要确保batterymonitoring这个属性是可用的
// 电量查询
float batteryLevel = [UIDevice currentDevice].batteryLevel;
NSLog(@"%f",batteryLevel);
// 检测电池状态
UIDeviceBatteryState batteryState = [[UIDevice currentDevice]batteryState];
// 有如下几个状态
// UIDeviceBatteryStateUnknown 0 未识别 0
// UIDeviceBatteryStateUnplugged, 充电中 1
// UIDeviceBatteryStateCharging, 少于100% 2
// UIDeviceBatteryStateFull, 充满了 3
NSLog(@"%d",batteryState);
// 检测是否支持多任务处理
BOOL support =[[UIDevice currentDevice]isMultitaskingSupported];
if(support)
{
NSLog(@"supportmultiTask");
}
else
{
NSLog(@"don,t supportmultiTask");
}
// 检测当前设备方向是否改变
// YES 方向改变
// NO 方向未改变
BOOL status =[UIDevice currentDevice].generatesDeviceOrientationNotifications ;
NSLog(@"%d",status);
// 开始改变设备方向 如果需要在改变方向的时候处理一些事情可以重写这个方法
// [[UIDevice currentDevice]beginGeneratingDeviceOrientationNotifications ];
// 结束改变设备方向 同上
// [[UIDevice currentDevice]endGeneratingDeviceOrientationNotifications];
// 临近状态检测
// 当你的身体靠近iPhone而不是触摸的时候,iPhone将会做出反应。(需要一定的面的影射,约5mm左右的时候就会触发)
// YES 临近 消息触发
// NO
BOOL proximityState = [[UIDevice currentDevice]proximityState];
NSLog(@"%d",proximityState);
UIDevice *device = [UIDevice currentDevice ];
device.proximityMonitoringEnabled=YES; // 允许临近检测
// 临近消息触发
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(proximityChanged:)
name:UIDeviceProximityStateDidChangeNotification object:device];
}
// 临近手机消息触发
- (void) proximityChanged:(NSNotification *)notification {
UIDevice *device = [notification object];
NSLog(@"In proximity:%i",device.proximityState);
if(device.proximityState==1){
//do something
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。