6

我在我的应用程序中使用 Socket Mobile 条码扫描器 (Socket 7Xi)。我已经集成了来自 Socket Mobile (ScanApiSDK-10.2.227) 的 SDK,并将扫描仪设置为 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。

如何获取设备的当前电池电量?

谢谢!

4

0 回答 0