無論我看起來如何嘗試,我目前都無法從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