com.awareframework.ios.sensor.battery 0.5.0

com.awareframework.ios.sensor.battery 0.5.0

tetujinyuuki.nishiyama 维护。



  • By
  • Yuuki Nishiyama

AWARE: Battery

CI Status Version License Platform

Aware Battery (com.awareframework.ios.sensor.battery) 是 AWARE Framework 插件之一,AWARE Framework 是一个开源的上下文感知工具。此插件允许我们处理电池状态和事件。

要求

iOS 10 或更高版本。

安装

com.awareframework.ios.sensor.battery 通过 CocoaPods 提供。

  1. 要安装它,只需在您的 Podfile 中添加以下行
pod 'com.awareframework.ios.sensor.battery'
  1. 将 com.awareframework.ios.sensor.battery 库导入到您的源代码中。
import com_awareframework_ios_sensor_battery

公共函数

电池传感器

  • init(config:BatterySensor.Config?) : 使用可选配置初始化电池传感器。
  • start() : 使用可选配置启动电池传感器。
  • stop() : 停止服务。

BatterySensor.Config

用于存储传感器配置的类。

字段

  • sensorObserver: BatteryObserver : 实时数据更新的回调。
  • enabled: Boolean 传感器是否启用。(默认 = false
  • debug: Boolean 启用/禁用 Logcat 记录。(默认 = false
  • label: String 数据的标签。(默认 = "")
  • deviceId: String 将与事件和传感器关联的设备 ID。(默认 = "")
  • dbEncryptionKey 数据库的加密密钥。(默认 = null
  • dbType: Engine 选择哪个数据库引擎用于保存数据。(默认 = Engine.DatabaseType.NONE
  • dbPath: String 数据库的路径。(默认 = "aware_battery")
  • dbHost: String 数据库同步的主机。(默认 = null

广播

已触发广播

  • Battery.ACTION_AWARE_BATTERY_CHANGED 当电池信息改变时广播。
  • Battery.ACTION_AWARE_BATTERY_CHARGING 当设备开始充电时广播。
  • Battery.ACTION_AWARE_BATTERY_DISCHARGING 当设备拔出并正在使用电池运行时广播。
  • Battery.ACTION_AWARE_BATTERY_FULL 当设备完成充电时发出的广播。
  • Battery.ACTION_AWARE_BATTERY_LOW 当设备电量低时发出的广播(15%或更低)。

接收到的广播

  • BatterySensor.ACTION_AWARE_BATTERY_START 收到的启动传感器的广播。
  • BatterySensor.ACTION_AWARE_BATTERY_STOP 收到的停止传感器的广播。
  • BatterySensor.ACTION_AWARE_BATTERY_SYNC 收到的发送同步尝试到主机的广播。
  • BatterySensor.ACTION_AWARE_BATTERY_SET_LABEL 收到的设置数据标签的广播。标签期望在意图的BatterySensor.EXTRA_LABEL字段中。

数据表示

电池数据

字段 类型 描述
status Int 之一 iOS的电池状态
level Int 电池电量,介于0到100之间
scale Int 最大电池电量
deviceId 字符串 AWARE设备的UUID
label 字符串 可自定义的标签。有助于数据校准或可追溯性
timestamp 长整型 自1970年以来的Unix时间毫秒
timezone Int 设备的时区
os 字符串 设备的操作系统(例如 android)

电池放电

字段 类型 描述
start Int 设备开始放电时的电池电量
end Int 设备停止放电时的电池电量
endTimestamp 长整型 放电结束的时间实例
deviceId 字符串 AWARE设备的UUID
label 字符串 可自定义的标签。有助于数据校准或可追溯性
timestamp 长整型 自1970年以来的Unix时间毫秒
timezone Int 设备的时区
os 字符串 设备的操作系统(例如 android)

电池充电

字段 类型 描述
start Int 设备开始充电时的电量
end Int 设备停止充电时的电量
endTimestamp 长整型 充电结束的时间实例
deviceId 字符串 AWARE设备的UUID
label 字符串 可自定义的标签。有助于数据校准或可追溯性
timestamp 长整型 自1970年以来的Unix时间毫秒
timezone Int 设备的时区
os 字符串 设备的操作系统(例如 android)

示例用法

let batterySensor = BatterySensor.init(BatterySensor.Config().apply{ config in
    config.sensorObserver = Observer()
    config.debug = true
    config.dbType = .REALM
    // more configuration...
})
// To start the sensor
batterySensor.start()

// To stop the sensor
batterySensor.stop()
// Implement an interfance of AwareBatteryObserver
class Observer:BatteryObserver {
    func onBatteryChanged(data: BatteryData) {
        // Your code here ..
    }

    func onBatteryCharging() {
        // Your code here ..
    }

    func onBatteryDischarging() {
        // Your code here ..
    }

    func onBatteryLow() {
        // Your code here ..
    }
}

作者

Yuuki Nishiyama, [email protected]

相关链接

许可协议

版权所有 (c) 2018 AWARE 移动上下文仪器中间件/框架 (http://www.awareframework.com)

根据 Apache License, Version 2.0 (以下简称“许可证”)许可;除非遵守许可证规定或以书面形式同意,否则您不得使用此文件。您可以在以下位置获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0 除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证中对授权和限制的具体语言,请参阅许可证。