1

我們使用私有框架(包括UIStatusBarSignalStrengthItemView.h)來計算單元信號強度。 它在前景模式下工作完美,但一旦我的應用程序進入後臺,它會停止更新單元信號強度。UIStatusBarSignalStrengthItemView和signalStrengthRaw計算單元信號強度,不更新背景中的值

我們正在使用的代碼是:

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]; 

請注意,我們使用的是爲企業宗旨的應用程序,所以我們並不需要擔心蘋果拒絕使用私人框架。

任何幫助將不勝感激。

回答

0

[app valueForKey:@"statusBar"]在背景狀態下將等於零。這是因爲您的應用程序無法從bg訪問statusBar。