无论我看起来如何尝试,我目前都无法从iOS/SocketScan API取回电池电量。我使用的版本,36年3月10日,这是我到目前为止的代码:SocketScan在Swift中获取电池电量
func onDeviceArrival(result: SKTRESULT, device deviceInfo: DeviceInfo!) {
print("onDeviceArrival:\(deviceInfo.getName())")
scanApiHelper.postGetBattery(deviceInfo, target: self, response: #selector(onGetBatteryInfo))
}
func onGetBatteryInfo(scanObj: ISktScanObject) {
let result:SKTRESULT = scanObj.Msg().Result()
print("GetBatteryInfo status:\(result)")
if (result == ESKT_NOERROR) {
let batterylevel = scanObj.Property().getUlong()
print("Battery is:\(batterylevel)")
} else {
print("Error GetBatteryInfo status:\(result)")
}
不过,我回来的值是:
GetBatteryInfo status:0
Battery is:1677741312
如果我的代码是正确的,那么如何让我的电池结果我得到一个有意义的结果,就像一个百分比?
如果我走了,那我该如何找回像电池电量,固件版本等信息?
感谢
大卫
感谢您的回答,这正是我想,但在斯威夫特据我可以看到它知道没有关于SKTBATTERY_GETCURLEVEL的内容,因为您使用了未解析的标识符,因此无法使用SKTBATTERY_GETCURLEVEL。这就是为什么我被卡住,因为根据文件,它应该很好! – Dave
@Dave我编辑了tymac的回答,内嵌了“SKTBATTERY_GETCURLEVEL”的代码,因为你是对的,这是一个'#define'宏,它不存在于swift版本 – Enrico
谢谢@Enrico。如前所述,我从Objective-C翻译了它。实际上我自己有一个打开的SocketScan门票,因为我需要向他们询问其他的东西。戴夫如果你想使用他们的本地类方法,你可以写一个Objective-C'扩展'。我添加了Objective-C以满足您的需要。 Enrico使用按位掩码来获得相当的百分比是惊人的:) – tymac