我有一个简单的问题。如何获取 iPhone 的电池电量?
[UIDevice currentDevice] batteryLevel]
够简单吗?但是有一个小问题-我不能使用 UIKit。这是我到目前为止写的,但我认为它不起作用:
// notification port
IONotificationPortRef nport = IONotificationPortCreate(kIOMasterPortDefault);
CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(nport), kCFRunLoopDefaultMode);
CFMutableDictionaryRef matching = IOServiceMatching("IOPMPowerSource");
kern_return_t kr = IOServiceAddMatchingNotification(nport, kIOFirstMatchNotification, matching, (IOServiceMatchingCallback)power, self, &powerIterator);
NSLog(@"Kernel said %d",kr);
power((void*)nport,powerIterator);
我仍然很确定您必须依靠IOKit才能检索电池电量。我的应用程序不使用 UIKit,因为它是一个无法使用 UIKit 的低级应用程序。以下是我正在使用的框架:
替代文字 http://img837.imageshack.us/img837/1829/screenshot20100718at211.png