iOS开发:电池电量监测
来源:互联网 发布:目前游戏的编程语言 编辑:程序博客网 时间:2024/05/17 23:16
一、电池状态获取及监测
#pragma mark - 电池状态获取及监控-(void)checkAndMonitorBatteryState{ UIDevice * device = [UIDevice currentDevice]; //是否允许监测电池 //要想获取电池状态和监控电池状态 必须允许 device.batteryMonitoringEnabled = true; //1、check /* 电池状态 typedef NS_ENUM(NSInteger, UIDeviceBatteryState) { UIDeviceBatteryStateUnknown, UIDeviceBatteryStateUnplugged, // on battery, discharging UIDeviceBatteryStateCharging, // plugged in, less than 100% UIDeviceBatteryStateFull, // plugged in, at 100% } __TVOS_PROHIBITED; */ UIDeviceBatteryState state = device.batteryState; NSArray *stateArray = [NSArray arrayWithObjects:@"未开启监视电池状态",@"电池未充电状态",@"电池充电状态",@"电池充电完成",nil]; NSLog(@"电池状态:%@", [stateArray objectAtIndex:state]); //2、monitor [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangBatteryState:) name:@"UIDeviceBatteryStateDidChangeNotification" object:device];}-(void)didChangBatteryState:(NSNotification *)notification{ //电池状态发生改变时调用 }
二、电池电量获取及监测
#pragma mark - 电池电量获取及监控-(void)checkAndMonitorBatteryLevel{ //拿到当前设备 UIDevice * device = [UIDevice currentDevice]; //是否允许监测电池 //要想获取电池电量信息和监控电池电量 必须允许 device.batteryMonitoringEnabled = true; //1、check /* 获取电池电量 0 .. 1.0. -1.0 if UIDeviceBatteryStateUnknown */ float level = device.batteryLevel; NSLog(@"level = %lf",level); //2、monitor [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangeBatteryLevel:) name:@"UIDeviceBatteryLevelDidChangeNotification" object:device]; }- (void)didChangeBatteryLevel:(id)sender{ //电池电量发生改变时调用 UIDevice *myDevice = [UIDevice currentDevice]; [myDevice setBatteryMonitoringEnabled:YES]; float batteryLevel = [myDevice batteryLevel]; NSLog(@"电池剩余比例:%@", [NSString stringWithFormat:@"%f",batteryLevel*100]);}
三、低电量模式切换监测
#pragma mark - 低电量模式切换-(void)checkAndMonitorPowerMode{ //1、check //是否处于低电量模式 if ([[NSProcessInfo processInfo] isLowPowerModeEnabled]) { NSLog(@"处在低电量模式"); } else{ NSLog(@"未处于低电量模式"); } //2、monitor //低电量模式切换通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangePowerMode:) name:NSProcessInfoPowerStateDidChangeNotification object:nil];}//收到低电量通知之后调用的方法//PS:手动设置低电量模式时,程序会回到后台,当程序从后台回到前台时就会调用该方法- (void)didChangePowerMode:(NSNotification *)notification { if ([[NSProcessInfo processInfo] isLowPowerModeEnabled]) { NSLog(@"打开低电量模式"); } else { NSLog(@"关闭低电量模式"); }}
参考文章:
1、获取IOS设备的电量信息:Battery Level - iPhone手机开发技术文章 - 红黑联盟
2、[iOS] 如何检测 iPhone 处于低电量模式 - 推酷
3、IOS 电池状态监控 - 永远在跟随,从未去超越 - 博客频道 - CSDN.NET
0 0
- iOS开发:电池电量监测
- iOS开发获取电池电量
- 电池电量的监测方法
- iOS开发-runtime获取设备电池电量
- iOS开发:网络监测
- 监测电池电量和充电状态
- 【iOS开发】---- Reachability 网络监测
- iOS开发--监测网络变化
- iOS 开发 网络实时监测
- iOS开发--监测网络状态
- 实时动态监测电池电量、蓝牙、WiFi状态
- Android官方开发文档Training系列课程中文版:电池续航时间优化之监测电池电量及充电状态
- IOS开发——网络监测
- iOS 开发判断监测当前网络状态
- iOS开发-监测网络连接状态
- iOS 开发 网络实时监测
- iOS开发监测手机流量使用情况
- iOS开发实时监测网络状态Reachability
- java web中图片验证码功能实现
- ReactNative常用命令行
- Hibernate-基本建立步骤(创建一个表)
- sql sql*plus
- weblogic/c3p0配置mysql数据源出现乱码问题
- iOS开发:电池电量监测
- 第 5章 Jenkins – Maven Setup
- leetcode 38. Count and Say
- 游戏开发入门03
- Java web图片验证功能实现二
- iscsi endless conn error investigation
- android studio ndk生成h头文件(找不到类的问题)
- jquery3.0源码解读(三)Selector
- 测试函数运行时间