UIStatusBarSignalStrengthItemView и signalStrengthRaw для расчета силы сигнала ячейки, не обновляет значения в фоновом режиме
Мы используем частные каркасы (включая UIStatusBarSignalStrengthItemView.h) для расчета уровня сигнала ячейки. Он отлично работает в режиме переднего плана, но как только мое приложение переходит в фоновый режим, оно перестает обновлять уровень сигнала ячейки.
Код, который мы используем:
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
NSString *dataNetworkItemView = nil;
for (id subview in subviews) {
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarSignalStrengthItemView") class]]) {
dataNetworkItemView = subview;
break;
}
}
int signalStrength = [[dataNetworkItemView valueForKey:@"signalStrengthRaw"] intValue];
Обратите внимание, что мы используем приложение для корпоративных целей, поэтому нам не нужно беспокоиться об отказе Apple от использования частных платформ.
Любая помощь будет высоко оценена.
1 ответ
[app valueForKey:@"statusBar"]
будет равен нулю в фоновом состоянии. Это потому, что statusBar не доступен в вашем приложении от bg.