zoukankan      html  css  js  c++  java
  • 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
    
        }
    
    }
    
     
  • 相关阅读:
    iOS加载动态图的两种方法
    python初探
    博客园封笔
    office的分栏技巧
    关于排序...
    LaTex 学习笔记
    vim 学习笔记
    iOS 编程学习笔记之Foundation框架
    数论
    扫描线概览
  • 原文地址:https://www.cnblogs.com/llios/p/3922098.html
Copyright © 2011-2022 走看看