你能得到 Apple Watch 的大概电量百分比吗?
Can you get the approximate battery percentage of the Apple Watch?
Apple Watch 是否有可以获取其大概电池寿命的对象或功能?
这应该有效:UIDevice.currentDevice().batteryLevel
这将 return 一个 Float
根据 Sean 的说法,您无法在当前的 WatchKit 版本中获取 Apple Watch 电池电量,下面的代码只是 returns iPhone 电池电量:
Swift:
var x = UIDevice.currentDevice().batteryLevel
Objective-C:
int x = [UIDevice currentDevice].batteryLevel;
这是 App Store 上的 Battery Adviser Apple Watch 应用(由 Applestan 开发)中使用的代码。
这是可能的,但只是从 WatchOS 4 的发布开始。UIDevice 仅适用于 iOS 设备,因此它与这个问题绝对无关。对应的是WatchOS中的WKInterfaceDevice
正确的解法是:
OBJECTIVE-C version
float *watchBatteryPercentage = [WKInterfaceDevice currentDevice].batteryLevel;
但你必须先允许它:
[WKInterfaceDevice currentDevice].batteryMonitoringEnabled = YES;
SWIFT 4.2 version:
var watchBatteryPercentage:Int {
return Int(roundf(WKInterfaceDevice.current().batteryLevel * 100))
}
要使其可用,您必须使用:
WKInterfaceDevice.current().isBatteryMonitoringEnabled = true
Swift (WatchKit 4.x) 版本。请注意,您必须设置 isBatteryMonitoringEnabled = true
否则您将得不到有效结果。就我而言,我不关心后续通知,所以我立即设置回 false。另请注意,当前模拟器不模拟 batteryLevel/batteryState.
let curDevice = WKInterfaceDevice.current()
curDevice.isBatteryMonitoringEnabled = true // Enable just long enough for data
let chargeLevel = curDevice.batteryLevel
let chargeState = curDevice.batteryState
curDevice.isBatteryMonitoringEnabled = false
Apple Watch 是否有可以获取其大概电池寿命的对象或功能?
这应该有效:UIDevice.currentDevice().batteryLevel
这将 return 一个 Float
根据 Sean 的说法,您无法在当前的 WatchKit 版本中获取 Apple Watch 电池电量,下面的代码只是 returns iPhone 电池电量:
Swift:
var x = UIDevice.currentDevice().batteryLevel
Objective-C:
int x = [UIDevice currentDevice].batteryLevel;
这是 App Store 上的 Battery Adviser Apple Watch 应用(由 Applestan 开发)中使用的代码。
这是可能的,但只是从 WatchOS 4 的发布开始。UIDevice 仅适用于 iOS 设备,因此它与这个问题绝对无关。对应的是WatchOS中的WKInterfaceDevice
正确的解法是:
OBJECTIVE-C version
float *watchBatteryPercentage = [WKInterfaceDevice currentDevice].batteryLevel;
但你必须先允许它:
[WKInterfaceDevice currentDevice].batteryMonitoringEnabled = YES;
SWIFT 4.2 version:
var watchBatteryPercentage:Int {
return Int(roundf(WKInterfaceDevice.current().batteryLevel * 100))
}
要使其可用,您必须使用:
WKInterfaceDevice.current().isBatteryMonitoringEnabled = true
Swift (WatchKit 4.x) 版本。请注意,您必须设置 isBatteryMonitoringEnabled = true
否则您将得不到有效结果。就我而言,我不关心后续通知,所以我立即设置回 false。另请注意,当前模拟器不模拟 batteryLevel/batteryState.
let curDevice = WKInterfaceDevice.current()
curDevice.isBatteryMonitoringEnabled = true // Enable just long enough for data
let chargeLevel = curDevice.batteryLevel
let chargeState = curDevice.batteryState
curDevice.isBatteryMonitoringEnabled = false