Check battery level in background?

2019-06-26 18:49发布

问题:

Is it possible to check battery level in swift while our application is in background?

Currently I am working on one iOS application in which user will be alerted with system notification when battery reached to 30%.

I tried and I received notification randomly, sometimes 4%, sometimes 10%, mover than ever 30%.

func applicationDidEnterBackground(application: UIApplication) {
    if(UIDevice.currentDevice().batteryLevel <= 0.30 && UIDevice.currentDevice().batteryState != UIDeviceBatteryState.Charging)
    {
        Notification.addNotificationSystem("Mettre le portable à charger", fireDate: 1, iconBadgeNumber: false)
        }
    }
}

回答1:

Your code executes the battery test only one time, when the app is going in the background.
If you want to check the battery status while in the background, your app will need to be able to execute actual code there. Which means that you will need to enable one of the Background Modes capabilities (note that Apple will reject your app if you declare to need such an ability without any feature using it).

In any case: If your app gets suspended by iOS, you won't be able to check anything.



标签: ios swift ios8