您好,我的应用程序中有一个功能,如果他的电池电量低于20%就会通知用户
在我的AppDelegate.m中我有这个(观察者)
- (void)applicationDidEnterBackground:(UIApplication *)application {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryStatut) name:UIDeviceBatteryLevelDidChangeNotification object:nil];
[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];
}
这个空洞是nslog的更新电池电量
-(void)batteryStatut{
float batteryLevel = [[UIDevice currentDevice] batteryLevel];
batteryLevel *= 100;
NSLog(@"Battery lvl changed: %f",batteryLevel);
}
编辑:
完成它在plist中添加UIBackgroundModes,App使用你的位置并且它有效,但它不是最好的方法。
答案 0 :(得分:1)
如果您希望自己的应用在后台运行,则必须声明您的应用支持后台任务。
为此,您必须在.plist中为UIBackgroundModes
注册一个值。
不幸的是,您必须有充分的理由使用后台任务。 喜欢听音乐,位置,voip等... 因此,我猜你将无法在没有脏东西的情况下使用后台任务(比如使用位置来杀死你的app)
有关详情,请查看the doc