用于在后台检查电池电量的 iOS 应用程序

Posted

技术标签:

【中文标题】用于在后台检查电池电量的 iOS 应用程序【英文标题】:iOS Application for Check Battery level in background 【发布时间】:2013-10-01 05:05:06 【问题描述】:

是否可以在我们的应用程序处于后台时检查电池电量?

目前我正在开发一个 ios 应用程序,当电池达到一定水平时,用户会收到警报。

我在 google/stake overflow 上进行了搜索。但发现没有任何用处。我可以在应用程序处于前台状态时确定电池电量。但是我们都知道苹果不允许应用程序在后台运行。

所以我的问题是,即使我的应用程序在后台,我如何才能获得当前的电池电量事件。

这是类似的应用程序。它是一个付费应用程序。但是通过查看屏幕截图,您会明白我想说的意思。

https://itunes.apple.com/it/app/battery-alert!/id416283462?mt=8

【问题讨论】:

Can I check battery status of iPhone in background state?的可能重复 【参考方案1】:
UIDevice *device = [UIDevice currentDevice];
device.batteryMonitoringEnabled = YES;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryLevelDidChangeNotification" object:device];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryStateDidChangeNotification" object:device];

// Your notification handler
- (void)batteryChanged:(NSNotification *)notification

    UIDevice *device = [UIDevice currentDevice];
    NSLog(@"state: %i | charge: %f", device.batteryState, device.batteryLevel);

查看此代码...

【讨论】:

我会试试这个代码。但是我怀疑它是否会在后台工作。 在后台不工作。 A suspended app does not execute any code and therefore cannot process notifications, including battery change notifications.

以上是关于用于在后台检查电池电量的 iOS 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

当设备电池​​电量低于 40% 时,iOS 后台获取失败

在 iOS 中检查我的应用的电池消耗

如何在 Android 的后台监控电池电量?

iPhone 4 iOS 5 电池电量监控是不是需要将 setBatteryMonitoringEnabled:NO 添加到定期电池检查?

如何在独立的智能手表应用程序或表盘中检查蓝牙连接手机的电池电量? [关闭]

iOS:监控电池电量使用更多电池?应该自动保存吗?