我只是想以編程方式知道iPhone是否處於飛行模式。我知道我們必須在info plist中添加SBUsesNetwork布爾標誌,但這不符合我的目的。其實我正在使用reachabillity類來識別互聯網的可用性,所以當我的應用程序以飛行模式啓動時,從我的代碼和其他SBUsesNetwork標誌中得到兩個警告。我急於顯示這兩個警報中的任何一個。所以我想以編程方式知道手機是否處於飛行模式?如何識別手機是否處於飛行模式 - 以編程方式?
任何想法或建議將有很大的幫助?
在此先感謝!
我只是想以編程方式知道iPhone是否處於飛行模式。我知道我們必須在info plist中添加SBUsesNetwork布爾標誌,但這不符合我的目的。其實我正在使用reachabillity類來識別互聯網的可用性,所以當我的應用程序以飛行模式啓動時,從我的代碼和其他SBUsesNetwork標誌中得到兩個警告。我急於顯示這兩個警報中的任何一個。所以我想以編程方式知道手機是否處於飛行模式?如何識別手機是否處於飛行模式 - 以編程方式?
任何想法或建議將有很大的幫助?
在此先感謝!
可能this
幫助
已發佈有關此處。也許這會有所幫助。
NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
[infoDict objectForKey:@"SBUsesNetwork"];
希望這有助於。
如果不使用私有庫,我們無法獲取此信息。這裏有一些代碼,但當載波信號不可用時它不起作用。
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;
}
}
double signalStrength = [[dataNetworkItemView valueForKey:@"signalStrengthRaw"] intValue];
if (signalStrength > 0) {
NSLog(@"Airplane mode or NO signal");
}
else{
NSLog(@"signal available");
}
的可能重複[iphone如何檢查飛行模式?(http://stackoverflow.com/questions/1404651/iphone-how-to-check-the-airplane-mode)的 – PengOne 2011-06-14 06:17:25
可能重複[iPhone:檢測飛行模式](http://stackoverflow.com/questions/4804398/iphone-detect-airplane-mode) – grc 2013-03-29 04:38:22