如何檢測手機是否處於飛行模式? (這是不夠的,沒有檢測到互聯網連接,我必須能夠區分這兩種情況)在iOS上檢測飛行模式
49
A
回答
18
嘗試使用SCNetworkReachabilityGetFlags
(SystemConfiguration框架)。如果返回的flags變量爲0並且返回值爲YES,則打開飛行模式。
看看蘋果的Reachability classes。
5
您可以在Info.plist中添加設置爲true的SBUsesNetwork布爾標誌以顯示在飛行模式下使用的郵件彈出窗口。
1
如果不使用私有庫,我們無法獲取此信息。這裏有一些代碼,但當載波信號不可用時它不起作用。
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");
}
1
對於越獄的調整/應用:
@interface SBTelephonyManager : NSObject
+(id)sharedTelephonyManager;
-(BOOL)isInAirplaneMode;
@end
...
bool isInAirplaneMode = [[%c(SBTelephonyManager) sharedTelephonyManager] isInAirplaneMode];
相關問題
- 1. 在飛行模式
- 2. BlackBerry上的飛行模式
- 3. 檢測iPhone是否處於飛行模式?
- 4. 手機處於飛行模式時如何檢測iCloud用戶?
- 5. 的Android飛行模式檢測方法蜂窩
- 6. PDA(Windows Mobile)處於飛行模式時檢測
- 7. Golang檢測飛行要求
- 8. 如何在Windows Phone 10中以編程方式檢測飛行模式
- 9. 以編程方式切換飛行模式在ios 7
- 10. 如何在整個應用程序中檢測飛行模式android
- 11. IOS unregisterForRemoteNotifications在飛行模式下不起作用
- 12. iOS設備在飛行模式下的CPU使用率爲100%
- 13. 顯示在IOS中更改爲飛行模式的選項
- 14. iPad全屏模式&&飛行模式
- 15. canDisplayBannerAds和飛行模式
- 16. iOS 9如何檢測靜音模式?
- 17. 檢測iOS 7中的靜音模式
- 18. iOS 9檢測靜音模式
- 19. 在Android上檢測webapp模式
- 20. 在Intel C++上檢測C++ 0x模式?
- 21. 如何檢測飛機模式,特別是果凍束?
- 22. 在運行時檢查測試模式
- 23. 碰撞檢測難度,玩家飛行
- 24. 如何在飛行模式的Android
- 25. 在Android 2.2中禁用飛行模式
- 26. CGFontCreateWithDataProvider在飛行模式下掛起
- 27. 在Android中關閉飛行模式
- 28. 有沒有辦法在Windows Phone 7上編程檢查飛行模式狀態?
- 29. 在iPhone上使用私有API檢查並切換飛行模式
- 30. Calabash-ios - 放置設備是飛行模式
你能解釋一下爲什麼** **你需要區分這兩種情況?如果用戶由於覆蓋或由於飛行模式沒有連接而沒有連接,會有什麼不同? – Jasarien 2011-01-26 12:17:46
因爲我們可以在其他移動平臺上區分這一點,我們希望儘可能在平臺上擁有相同的功能。我們根據此顯示不同的狀態消息,並嘗試引導用戶糾正問題。 – Caner 2011-01-26 13:11:37
我知道這是一個古老的問題,但只是爲了澄清這種「非常狹窄的情況」的需要:當iPhone處於飛行模式時,GPS位置非常不可靠,但不會導致錯誤。我訂閱了GPS事件,並讓我的應用程序運行了2個小時。沒有錯誤,沒有GPS位置,並且'可以接收位置事件'的所有檢查返回YES。然而,手動禁用3g和wifi手機給了我內部「可以接收位置」檢查的NO。與普通的可達性檢查相比,顯然需要明確檢測飛行模式。 – Owen 2012-09-07 09:41:16