我在我的应用程序中使用Socket Mobile条形码扫描仪(Socket 7Xi)。我已经从Socket Mobile集成了SDK(ScanApiSDK-10.2.227)并为iOS模式设置了扫描程序。我的应用程序按预期接收条形码。然而,当电池电量低时,设备似乎有点胡思乱想(我认为)。我想在应用程序中显示电池电量,因此我可以提醒用户插入插座扫描器,并通常调试扫描问题。
我正在使用以下电话来获取电池电量:
[_scanApiHelper postGetBattery:_deviceInfo Target:self Response:@selector(onGetBattery:)];
通过以下方法返回:
-(void)onGetBattery:(ISktScanObject*)obj{
ISktScanProperty* property = [obj Property];
if (property){
unsigned char level = SKTBATTERY_GETCURLEVEL([property getUlong]);
unsigned char minLevel = SKTBATTERY_GETMINLEVEL([property getUlong]);
unsigned char maxLevel = SKTBATTERY_GETMAXLEVEL([property getUlong]);
float levelf = level;
float minLevelf = minLevel;
float maxLevelf = maxLevel;
float percentf = (levelf-minLevelf)/(maxLevelf-minLevelf)*100;
NSLog(@"percent: %f", percentf);
}
}
onGetBattery方法被调用,但是我回来的ulong是1677747200,在调用实用程序方法之后给我一个level = 64,minLevel = 0,maxLevel = 64。应将其解释为100%(percentf = 100.00)。
然而,似乎总是返回这个值。从来没有充满电。
我也在DeviceInfo上尝试了getBatteyLevel方法,但只返回nil。
如何获取设备的当前电池电量?
谢谢!