iOS开发-runtime获取设备电池电量
来源:互联网 发布:算法之美 中文版 pdf 编辑:程序博客网 时间:2024/04/30 12:45
通过runtime 获取StatusBar上电池电量控件类私有变量的值,此方法可精准获取iOS6以上电池电量
- (int)getCurrentBatteryLevel{ UIApplication * app = [UIApplication sharedApplication]; if (app.applicationState == UIApplicationStateActive || app.applicationState == UIApplicationStateInactive) { Ivar ivar = class_getInstanceVariable([app class], "_statusBar"); id status = object_getIvar(app, ivar); for (id aview in [status subviews]) { int batteryLevel = 0; for (id bview in [aview subviews]) { if ([NSStringFromClass([bview class]) caseInsensitiveCompare:@"UIStatusBarBatteryItemView"] == NSOrderedSame && [[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0) { Ivar ivar = class_getInstanceVariable([bview class], "_capacity"); if (ivar) { batteryLevel = ((int (*)(id,Ivar)) object_getIvar)(bview, ivar); //这种方式也可以 /*ptrdiff_t offset = ivar_getOffset(ivar); unsigned char *stuffBytes = (unsigned char *)(__bridge void *)bview; batteryLevel = * ((int *)(stuffBytes + offset));*/ NSLog(@"电池电量为:%d",batteryLevel); if (batteryLevel > 0 && batteryLevel <= 100) { return batteryLevel; }else{ return 0; } } } } } } return 0;}
0 0
- iOS开发-runtime获取设备电池电量
- iOS开发获取电池电量
- Android 获取设备电池电量
- 获取Android设备电池电量状态
- 获取Android设备电池电量状态
- 获取Android设备电池电量状态
- 获取设备电池电量及状态
- 获取Android设备电池电量状态
- 获取Android设备电池电量状态
- 获取Android设备电池电量状态
- iOS开发:电池电量监测
- native层获取Android设备电池电量
- iOS开发-获取设备电量
- iOS开发 获取设备UUID
- [IOS 开发] 获取设备UUID
- iOS开发 获取设备参数
- iOS开发-获取设备IP
- 获取电池电量
- 【精】从入门到高深,史上最全的Spark综合帖
- contentObserver内容观察者,血泪史,擦,气死人啊
- MySQL 库操作
- jsp编码及url请求中文乱码、图片上传文件名乱码
- 控制kobuki 运行一个矩形: 类的形式写ROS节点程序
- iOS开发-runtime获取设备电池电量
- java枚举enum
- DIV+CSS实操四:经管系网页内容模块内容添加(一)
- 看kali教程的一些总结(i春秋上的kali吧教程)
- XDU-1015 无聊的Light Light (贪心)
- 看!数据分析领域中最为人称道的七种降维方法
- 谈下自己编程的能力和一些项目
- 用CHI检验提取文本特征词
- 【拔苗计划】linux学习笔记——netstat命令学习