Làm cách nào để phát hiện xem điện thoại có đang ở chế độ trên máy bay không? (Không đủ để phát hiện không có kết nối internet, tôi phải có khả năng phân biệt 2 trường hợp này)Phát hiện chế độ trên máy bay trên iOS
Trả lời
Thử sử dụng SCNetworkReachabilityGetFlags
(Khung cấu hình hệ thống). Nếu biến cờ được trao lại là 0 và giá trị trả về là CÓ, chế độ trên máy bay được bật.
Kiểm tra Apple Reachability classes.
Xin chào, giá trị trả về là CÓ và tôi nhận được không ở cả hai tình huống sau: 1) Wifi bị tắt khỏi cài đặt và không có thẻ sim trong điện thoại 2) chế độ trên máy bay. Rất tiếc, đề xuất của bạn không giải quyết được vấn đề của tôi. – Caner
không phải là trạng thái khả năng hiển thị giống nhau trong cả hai trường hợp? được rồi, trạng thái bluetooth có thể khác. – Felix
Bạn có thể thêm cờ boolean SBUsesNetwork được đặt thành true trong Info.plist của bạn để hiển thị cửa sổ bật lên được sử dụng trong Thư khi ở Chế độ trên máy bay.
NGOẠI TRỪ rằng điều này là không có giấy tờ và có thể vi phạm trong bản phát hành iOS trong tương lai. –
Chúng tôi không thể nhận được thông tin này mà không sử dụng thư viện riêng. Đây là một số mã nhưng nó sẽ không hoạt động khi tín hiệu sóng mang không có sẵn.
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");
}
Đối chỉnh jailbreak/apps:
@interface SBTelephonyManager : NSObject
+(id)sharedTelephonyManager;
-(BOOL)isInAirplaneMode;
@end
...
bool isInAirplaneMode = [[%c(SBTelephonyManager) sharedTelephonyManager] isInAirplaneMode];
- 1. Kích hoạt chế độ trên máy bay theo chương trình?
- 2. IOS unregisterForRemoteNotifications không hoạt động ở chế độ trên máy bay
- 3. Xác định xem Chế độ trên máy bay có được bật trên iPhone không?
- 4. WP7 Cách gỡ lỗi chế độ trên máy bay trên thiết bị?
- 5. Cách chuyển Chế độ trên máy bay trên Android 4.2 trở lên bằng root?
- 6. Không thể chơi dòng video địa phương trong iOS 7 khi chế độ máy bay là trên
- 7. Tạo chế độ xem lưới trên iOS
- 8. chế độ có thể phát hiện Disable Bluetooth trên Android
- 9. Trình phát nội tuyến trên YouTube - kích hoạt chế độ toàn màn hình trên iOS
- 10. Chế độ chuyển đổi chế độ máy bay theo lập trình
- 11. Phát hiện mạng trên máy Mac
- 12. Chế độ xem đầu vào của UITextView trên iOS 7
- 13. Chế độ ban đêm trên iOS SDK của Google Maps
- 14. Chế độ Super Dev trên máy chủ từ xa
- 15. phát hiện ứng dụng iPhone chạy trên iPad ở chế độ tương thích
- 16. Phát video trên youtube trên iOS
- 17. Thử nghiệm ở chế độ "Máy bay" trong Trình mô phỏng Android
- 18. iOS - Kéo và thả phát hiện va chạm Làm thế nào để phát hiện khi mục đã chọn của bạn kéo trên một chế độ xem phụ khác?
- 19. Chế độ nền iOS
- 20. Thin vs. unicorn cho chế độ phát triển trên máy Mac?
- 21. iOS - Phát hiện UITableViewCell đang được di chuyển ra khỏi chế độ xem hiển thị?
- 22. Phát hiện chế độ thử nghiệm django
- 23. Phát hiện chế độ tương thích IE10
- 24. Máy ảnh Android ở chế độ dọc trên SurfaceView
- 25. phát hiện pinch để phóng to trên iOS
- 26. Làm thế nào để phát hiện chế độ chụp hẹp trên Metro IE 10 trên Windows 8
- 27. Chế độ xem dựa trên lớp VS Các chế độ xem dựa trên chức năng
- 28. iOS - công cụ gỡ lỗi để phát hiện chế độ xem được chạm vào
- 29. Cách phát hiện cử chỉ vuốt trên chế độ xem web
- 30. Phát triển trên máy Mac so với sử dụng máy ảo trên PC dựa trên windows?
Bạn có giải thích lý do tại sao ** ** bạn cần phải phân biệt hai trường hợp này? Sự khác biệt gì nếu người dùng không có kết nối vì phạm vi phủ sóng hoặc không có kết nối vì chế độ trên máy bay? – Jasarien
Do đó, chúng tôi có thể phân biệt điều này trên các nền tảng di động khác và chúng tôi muốn có cùng chức năng trên nền tảng càng nhiều càng tốt. Chúng tôi hiển thị các thông báo trạng thái khác nhau tùy thuộc vào điều này và chúng tôi cố gắng hướng dẫn người dùng khắc phục sự cố. – Caner
Tôi biết đây là một câu hỏi cũ, nhưng chỉ để làm rõ nhu cầu 'tình huống cực kỳ hẹp' này: Khi iPhone ở chế độ trên máy bay, vị trí GPS cực kỳ không đáng tin cậy, nhưng không gây ra lỗi. Tôi đã đăng ký sự kiện GPS và để ứng dụng của tôi chạy trong 2 giờ. Không có lỗi, không có vị trí gps và tất cả các kiểm tra cho 'có thể nhận được sự kiện vị trí' trả về CÓ. Tuy nhiên, vô hiệu hóa 3g và wifi bằng tay đã cho tôi NO cho nội bộ 'có thể nhận được vị trí' kiểm tra. Có chắc chắn là một nhu cầu phát hiện chế độ máy bay một cách rõ ràng như trái ngược với một kiểm tra khả năng tiếp cận chung. – Owen