Check battery level in background?

2019-06-26 18:23发布

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)
        }
    }
}

标签: ios swift ios8
1条回答
够拽才男人
2楼-- · 2019-06-26 19:01

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.

enter image description here

查看更多
登录 后发表回答