美文网首页
iOS电池相关API

iOS电池相关API

作者: 面试小集 | 来源:发表于2018-02-09 14:10 被阅读78次

iOS电池相关API

iOS系统中关于电池的Api较少,据本人了解目前仅有两种电视相关的Api,一种是电量状态,一种是电池状态。

开启电池监听

在使用电池相关API的时候需要先开启电池监听,开启代码如下:

UIDevice.current.isBatteryMonitoringEnabled = true

获取电池状态

print(UIDevice.current.batteryLevel);
print(UIDevice.current.batteryState);

batteryLevel 表示电量信息,取值范围是0~1.0,如果获取的值为-1,则表示当前电池状态为未知,如:在模拟器上运行代码。

batteryState 表示电池状态,是一个枚举类型,如下:

public enum UIDeviceBatteryState : Int {   
    case unknown    //电池状态未知
    case unplugged // 电池未连接充电器,处于放电状态
    case charging // 电池已经连接了充电器,但并没有充满。
    case full // 电池已经连接了充电器,并且已经充满。
}

监听电池状态

系统为我们提供了两个通知,方便我们去监听电池状态的变化。分别是:UIDeviceBatteryLevelDidChangeUIDeviceBatteryStateDidChange。 使用方式如下:

func adBatteryObserver() {
    NotificationCenter.default
            .addObserver(self,
                         selector: #selector(batteryLevelDidChange(notify:)),
                         name: NSNotification.Name.UIDeviceBatteryLevelDidChange,
                         object: nil)
        NotificationCenter.default
            .addObserver(self,
                         selector: #selector(batteryStateDidChange(notify:)),
                         name: NSNotification.Name.UIDeviceBatteryStateDidChange,
                         object: nil)        
}

@objc func batteryLevelDidChange(notify:Notification) {
  self.textLabel2.text = "当前电量为:" + String(UIDevice.current.batteryLevel);
}
    
@objc func batteryStateDidChange(notify:Notification) {
    self.textLabel2.text = "当前电量为:" + String(UIDevice.current.batteryLevel);
    switch UIDevice.current.batteryState {
    case .charging:
        self.textLabel.text = "charging"     
        break
    case .unknown:
        self.textLabel.text = "unknown"      
        break
    case .unplugged:
        self.textLabel.text = "unplugged"    
        break
    case .full:
        self.textLabel.text = "full"        
        break
    }
}

小结

以上就是iOS电池相关的API,如有遗漏欢迎补充。

交流群

QQ群号:264706196

相关文章

  • iOS电池相关API

    iOS电池相关API iOS系统中关于电池的Api较少,据本人了解目前仅有两种电视相关的Api,一种是电量状态,一...

  • 8-11搜索相关

    iOS搜索相关 项目用到search api 和 Spotlight以下是: search api : NS...

  • iOS 11系统LSApplicationWorkspace获

    随着iOS 11的即将发布,我们在iOS 11上进行了相关测试,发现苹果变动了相关的API。在iOS 11beta...

  • iOS处理图片大小总结

    iOS中图片相关的内容非常多,iOS中的图片相关的API也非常多,从UIKit中的UIImage,到CoreGra...

  • iOS UserNotifications通知管理---本地通知

    iOS UserNotifications通知管理---本地通知篇 iOS 10对以前混乱的和通知相关的API进行...

  • ios ~ 高德地图:使用方法及示例

    相关文档【高德地图官方文档】:1、iOS 地图SDK[https://lbs.amap.com/api/ios-s...

  • iOS转场动画

    iOS自定义转场动画 首先介绍下iOS转场动画控制相关API 动画控制器 (Animation Controlle...

  • Runtime相关API

    类相关API 属性相关API 成员变量相关API 方法相关API

  • 更换App Logo

    在iOS 10.3之后,苹果官方提供了相关的API来实现这个功能,主要是下面这几个方法: API 方法很简单,但是...

  • iOS私有Api检测

    iOS私有Api检测 iOS私有Api检测

网友评论

      本文标题:iOS电池相关API

      本文链接:https://www.haomeiwen.com/subject/vibftftx.html