gpt4 book ai didi

ios - SocketScan 在 Swift 中获取电池电量

转载 作者:搜寻专家 更新时间:2023-10-31 22:45:52 29 4
gpt4 key购买 nike

无论我尝试什么,我目前都无法从 iOS/SocketScan API 取回电池电量。我使用的是 10.3.36 版,这是我目前的代码:

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 在 Swift 中不受支持。然而,docs解释电池电量响应包括分别编码在第一、第二和第三字节中的最小、当前和最大电量。

以下等同于使用SKTBATTERY_GETCURLEVEL

swift

func onGetBatteryInfo(scanObj: ISktScanObject) {

let result:SKTRESULT = scanObj.Msg().Result()

if(SKTSUCCESS(result)){

let batteryInfo = scanObj.Property().getUlong();

let batteryMin = ((batteryInfo >> 4) & 0xff);
let batteryCurrent = ((batteryInfo >> 8) & 0xff);
let batteryMax = ((batteryInfo >> 12) & 0xff);

let batteryPercentage = batteryCurrent / (batteryMax - batteryMin);
print("Battery is:\(batteryPercentage)")

self.setBatteryLevel = batteryPercentage
self.tableView.reloadData

} else {

print("Error GetBatteryInfo status:\(result)")
}
}

objective-C

-(void) onGetBatteryInfo:(ISktScanObject*)scanObj {

SKTRESULT result=[[scanObj Msg]Result];
if(SKTSUCCESS(result)){

long batteryLevel = SKTBATTERY_GETCURLEVEL([[scanObj Property] getUlong]);
NSLog(@"BatteryInfo %ld", batteryLevel);

[self setBatteryLevel:batteryLevel];
[self.tableView reloadData];

} else {

NSLog(@"Error GetBatteryInfo status: %ld",result);
}
}

关于ios - SocketScan 在 Swift 中获取电池电量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38254425/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com