2012-12-04 24 views

回答

0

我相信这是因为Java/JNI环境中没有运行循环。

看看javahidapi是如何实现的,特别是它如何创建一个单独的线程来运行hid_runloop_thread(),然后调用CFRunLoopRunInMode()直到它返回成品/取消状态。

请注意,运行循环是线程特定的,因此您需要在调用CFRunLoopRunInMode()之前从同一线程执行您的CFRunLoopAddSource()IOServiceAddMatchingNotification()调用。