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==){
//do something
}
}
IOS设备 UIDevice 获取操作系统 版本 电量 临近手机触发消息检测 (真机亲测可用)的更多相关文章
- iOS设置竖屏,播放视频可以任性旋转的解决方法,亲测可用
之前在网上找了很多方法,都是强制横屏,但是如果设备关闭旋转锁定,强制横屏后把设备竖立起来,播放器也会跟着竖过来,但是就回不去了.现在项目要求让app默认都是竖屏,只有在全屏播放的时候可以自由旋转,于是 ...
- Js获取操作系统版本 && 获得浏览器版本
//利用原生Js获取操作系统版本function getOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.plat ...
- Axure RP 9版本最新版授权码和密钥 亲测可用
分享Axure RP 9版本最新版授权码和密钥 亲测可用 声明:以下资源的获取来源为网络收集,仅供学习参考,不作商业用途,如有侵权请联系博主删除,谢谢! 自新的Axure RP 9.0 Beta版发布 ...
- JProfiler 9版本注册码(亲测可用!!!)
JProfiler 9版本注册码(亲测可用!!!) 按默认选择“Single or evaluation license” ,Name 和 Company 随意填!!! JProfiler 9.2 ...
- Eclipse4.5 Mars版本安装activiti插件 亲测可用
Eclipse4.5 Mars版本安装activiti插件 亲测可用 学习使用activiti 在线安装一直,国内的网络真心的是 很苦 啊:在茫茫网络上面找到了很多插件的离线包 终于找到一个可以使用的 ...
- XE7 & IOS开发之开发账号(1):开发证书、AppID、设备、开发授权profile的申请使用,附Debug真机调试演示(XCode所有版本通用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...
- NTDLL未文档化函数RtlGetNtVersionNumbers获取操作系统版本
作为新手,对获取操作系统版本号好奇过,因为曾经假象过一个场景:自己的程序在windows xp环境下编译,在windows 2003, windows 7,windows 8是否需要提权或者兼容处理, ...
- windows和linux下如何远程获取操作系统版本和主机名
远程获取windows和linux操作系统版本和主机名需要具备以下条件: 假设 主机A(windows 7),ip:192.168.12.2 主机B(centos 6.3),ip:192.168.12 ...
- WindowsAPI使用详解——GetVersion|GetVersionEx 获取操作系统版本和名称
Windows API 中有两个函数可以得到系统版本信息:GetVersion和GetVersionEx. GetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返 ...
随机推荐
- 14071702(SkeletalControl_Limb)
[目标] SkeletalControl_Limb [思路] HumanIK的15 个节点 CCDIK [步骤] 1 先编译[!BuildAll] [注]先把SYSTEM文件夹该为非只读属性,编译生成 ...
- fileupload图片预览功能
FileUpload上传图片前首先预览一下 看看效果: 在专案中,创建aspx页面,拉上FileUpload控件一个Image,将用来预览上传时的图片. <%@ Page Language=&q ...
- MergeRecord_C++中map的使用
//============================================================================ // Name : TTTest.cpp ...
- Visor 应用之一 通过ER 设计生成数据库脚本和实体对象
前言 Visor(http://www.visor.com.cn) 是一个基于HTML5 Canvas 开发的IDE 框架和设计开发平台,有关Visor的设计架构和技术应用,在以后的文章里会逐渐跟 ...
- RadioButtonList 属性设置
RadioButtonList 属性里有RepeatDirection 设为Horizontal
- 汇编、c语言、c++的一些想法。
学习C++的过程中一直有懂一点和迷糊的情绪伴随. 这几天在学习C++的变量定义.变量声明.数据类型等等.很多时候,跟我想的内容不一样.经常是,只知道这个东西是这样子的.却不知道,这个东西能在程序中有什 ...
- 【转】 Easy RadControl 之 RadGridView(Silverlight)
1.不显示第1列即列指示器(Row Indicators) 在 telerik:RadGridView中设置属性 RowIndicatorVisibility="Collapsed&qu ...
- [DPDK][转]DPDK编程开发(4)—lcore
1.知识百科 返回值 操作函数 函数功能 RTE_DECLARE_PER_LCORE (unsigned, _lcore_id) RTE_DECLARE_PER_LCORE (rte_cpuset_t ...
- Win7 下IIS(7.5)发布 ASP.NET MVC
操作系统 Win 7 旗舰版 开发工具 VS2015 使用技术 IIS7.5 + MVC4.0 一 . 在IIS上部署程序后出现错误-当前标识(NT AUTHORITY/NETWORK SERVICE ...
- asp.net mvc api auth
一.登录 /// <summary> /// 获取令牌 /// </summary> /// <param name="userName">用户 ...