Có cách nào để biết khi nào thiết bị của tôi (iPhone) được cắm vào nguồn điện, như máy tính hoặc hệ thống âm thanh xe hơi có cổng USB không? Tôi sử dụng dịch vụ bản địa hóa trong ứng dụng của mình và tôi muốn tự động thay đổi thành kCLLocationAccuracyBestForNavigation
khi thiết bị được cắm. Thanks ...Làm thế nào để biết khi nào thiết bị iOS được cắm vào?
5
A
Trả lời
3
Bạn có thể đăng ký để được thông báo khi phụ kiện kết nối hoặc ngắt kết nối.
Ví dụ:
[[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self
selector:@selector(accessoryDidConnect:)
name:EAAccessoryDidConnectNotification
object:nil];
[notificationCenter addObserver:self
selector:@selector(accessoryDidDisconnect:)
name:EAAccessoryDidDisconnectNotification
object:nil];
Khi bạn nhận được thông báo này, bạn có thể sử dụng một vòng lặp for để đi qua từng phụ kiện như:
NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager] connectedAccessories];
EAAccessory *accessory = nil;
for (EAAccessory *obj in accessories)
{
// See if you're interested in this particular accessory
}
Tại một số điểm (dealloc có lẽ), bạn sẽ muốn hủy đăng ký cho các thông báo này. Bạn có thể làm điều này như:
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter removeObserver:self
name:EAAccessoryDidDisconnectNotification
object:nil];
[notificationCenter removeObserver:self
name:EAAccessoryDidConnectNotification
object:nil];
[[EAAccessoryManager sharedAccessoryManager] unregisterForLocalNotifications];
7
Bạn có thể bật giám sát pin thông qua các UIDevice class và kiểm tra trạng thái pin để xem nếu nó đang được sạc:
typedef enum {
UIDeviceBatteryStateUnknown,
UIDeviceBatteryStateUnplugged,
UIDeviceBatteryStateCharging,
UIDeviceBatteryStateFull,
} UIDeviceBatteryState;
Bạn sẽ muốn kiểm tra cho sạc hoặc Đầy đủ trước khi cho phép độ chính xác GPS tốt nhất.
2
Để kiểm tra tình trạng pin:
UIDeviceBatteryState batteryState = [[UIDevice currentDevice] batteryState];
Để đăng ký thông báo về những thay đổi trong tình trạng pin, ví dụ bằng cách nhận một cuộc gọi đến phương pháp hành động của riêng bạn batteryStateChanged
:
- (void) setup {
[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];
NSNotificationCenter * center= [NSNotificationCenter defaultCenter];
[center addObserver:self
selector:@selector(batteryStateChanged)
name:UIDeviceBatteryStateDidChangeNotification
object:nil];
}
Hãy nhớ hủy đăng ký khi đối tượng của bạn được dealloced:
- (void) dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
[[UIDevice currentDevice] setBatteryMonitoringEnabled:NO];
}
Các vấn đề liên quan
- 1. Làm cách nào để biết cổng USB nào được cắm vào thiết bị?
- 2. Làm cách nào để biết thiết bị iOS có GPS?
- 3. Làm thế nào để biết khi nào một Ổ cắm đã bị ngắt kết nối
- 4. làm thế nào để biết mật độ của thiết bị?
- 5. Ứng dụng iOS bị treo khi tai nghe được cắm vào hoặc rút phích cắm
- 6. Làm thế nào để phát hiện khi một thiết bị âm thanh đã được cắm (windows vista) trong C#
- 7. Làm thế nào để biết khi nào một thiết bị lưu trữ USB mới được kết nối trong Qt?
- 8. Làm cách nào để kết nối thiết bị iOS với thiết bị không iOS (thiết bị Arduino) qua Bluetooth?
- 9. Làm thế nào để có được hồ sơ HID kết nối với thiết bị iOS?
- 10. Làm cách nào để kiểm tra xem thiết bị USB đã được cắm chưa?
- 11. làm thế nào tôi có thể nhập cáy tạo Certificate vào thiết bị iOS
- 12. Làm thế nào để bạn quản lý tình trạng pin của các thiết bị phát triển của bạn khi luôn được cắm vào?
- 13. Làm cách nào để ngăn hiển thị trên thiết bị iOS bị mờ và tắt?
- 14. Làm thế nào để biết khi nào MPMoviePlayerController đã bị tạm dừng trong iPhone?
- 15. Làm thế nào để bạn biết khi nào nên sử dụng các mẫu thiết kế?
- 16. Làm thế nào để có được chiều cao và chiều rộng thiết bị khi chạy?
- 17. Làm thế nào tôi có thể nhận được tất cả các ổ đĩa USB (cắm vào)
- 18. Khi thiết bị iOS xoay, làm cách nào để thay đổi hướng chỉ một phần tử?
- 19. Làm thế nào để biết một thuộc tính enum đã được thiết lập? C#
- 20. Làm cách nào để biết liệu có quá trình nào bị ràng buộc với một ổ cắm miền Unix không?
- 21. Làm thế nào để có được tên Android AVD từ tên thiết bị adb
- 22. Làm thế nào để kiểm tra xem tai nghe đã được cắm vào hay chưa?
- 23. Làm thế nào để bạn sửa lỗi "khối" dữ liệu khi chụp ảnh màn hình trên thiết bị iOS?
- 24. Làm thế nào để kiểm tra thiết bị Android là thiết bị có nguồn gốc?
- 25. writeToFile làm thế nào để biết khi nào nó được hoàn thành
- 26. Làm thế nào để biết kết nối có bị chết trong python hay không
- 27. Làm thế nào để biết khi nào phần tử được tạo động đã hiển thị
- 28. làm thế nào để đóng thiết bị đầu cuối geany
- 29. Làm thế nào để thiết lập lại keystores khi bạn không biết mật khẩu của họ?
- 30. Làm thế nào để giao tiếp với thiết bị USB?
** Cảm ơn rất nhiều ** Tôi sẽ nói mã này ... – human4
@ human4 Luôn sẵn lòng trợ giúp. Nếu KVO trên 'batteryState' của' UIDevice' hoạt động thì đó là điều tôi sẽ làm. – Sam
Điều này không còn hoạt động nữa. –