IOS设备 UIDevice 获取操作系统 版本 电量 临近手机触发消息检测 (真机亲测可用)

来源:互联网 发布:拍照答题软件 编辑:程序博客网 时间:2024/05/22 03:41

- (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.0100%在访问这个属性之前要确保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

    }

}

0 0
原创粉丝点击