j9九游会登陆--首页直达

    电池电量与低电量形式
    • 智网科技
    • ###
    • 分类: 履历之谈
    • 阅读量: 69

    优步近来发布的数据表现,当电池快没电的时分,人们更乐意承受溢价。同时,优步也标明他们并没有使用电量相干的数据来设置溢价规矩。换句话说,j9九游会在开辟App的时分,可以经过电池电量来"提拔用户体验"。

    电池形态与电量

    UIDevice 中有三个电池相干的属性:

    1
    2
    3
    @property(nonatomic,getter=isBatteryMonitoringEnabled) BOOL batteryMonitoringEnabled NS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED;  // default is NO
    @property(nonatomic,readonly) UIDeviceBatteryState          batteryState NS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED;  // UIDeviceBatteryStateUnknown if monitoring disabled
    @property(nonatomic,readonly) float                         batteryLevel NS_AVAILABLE_IOS(3_0) __TVOS_PROHIBITED;  // 0 .. 1.0. -1.0 if UIDeviceBatteryStateUnknown

    j9九游会可以经过 batteryState 来获取电池形态,经过 batteryLevel来获取电池电量信息。

    值得一提的是,在获取电池信息之前,必要手动设置 batteryMonitoringEnabled 为 YES,否则batterystate 会前往 Unkonw.

    假如想要订阅电池形态,可以注册为以下两个关照的察看者:

    1
    2
    UIKIT_EXTERN NSString *const UIDeviceBatteryStateDidChangeNotification;  
    UIKIT_EXTERN NSString *const UIDeviceBatteryLevelDidChangeNotification;

    batteryLevel 的值每改动 0.05(也便是电池电量的 5%), 就会触发一次 UIDeviceBatteryLevelDidChangeNotification。

    低电量形式

    为理解决续航题目,Apple 在 iOS 9 中为 iPhone 添加了。在此形式下,体系会经过禁用一些特征诸如电子邮件主动获取、背景革新、Hey Siri等,来到达低落能耗的目标。

    低电量形式的设置藏得比力深,以致于从设置中找到它对大少数人来说是一件十分难的事。换句话说,用户翻开了低电量形式,才干真正阐明用户所处的情形必要尽大概地浪费电量。因而,相比力于间接获取电池电量来说,探测低电量形式能否开启,更能直观地反响产品情形和用户心思。

    检测低电量形式

    在 iOS 9 中,j9九游会可以很容易地检测到用户能否开启了低电量形式,NSProcessInfo 提供了绝对于的属性。

    1
    2
    3
    4
    if ([[NSProcessInfo processInfo] isLowPowerModeEnabled])  
    {
      // 做低电量形式下该做的事
    }

    同时,假如想要对低电量形式的变革做出呼应,可以注册为以下关照的察看者:

    1
    NSString * const NSProcessInfoPowerStateDidChangeNotification;

    当j9九游会检测低电量形式的时分,必要留意以下两点:

    低电量形式仅支持 iOS 9 。当 App 必要兼容更早的版本时,先反省api的可用性。

    低电量形式仅实用于 iPhone ,在 iPad 中,isLowPowerModeEnabled 的前往值一直为 NO

    当j9九游会检测到用户开启了低电量形式,可以为用户做一些小改动,来协助用户延伸电池续航。以下是 Apple 给出一些发起:

    • 中止利用定位办事

    • 削弱动画结果

    • 中止背景义务(好比网络哀求)

    • 禁用活动追踪

    参考材料