AWARE: Battery
Aware Battery (com.awareframework.ios.sensor.battery) 是 AWARE Framework 插件之一,AWARE Framework 是一个开源的上下文感知工具。此插件允许我们处理电池状态和事件。
要求
iOS 10 或更高版本。
安装
com.awareframework.ios.sensor.battery 通过 CocoaPods 提供。
- 要安装它,只需在您的 Podfile 中添加以下行
pod 'com.awareframework.ios.sensor.battery'
- 将 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 除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证中对授权和限制的具体语言,请参阅许可证。