2015/04/28

Android : EventBusでonEventが認識されない

onEventを実装しているがEventBusExceptionが発生し, Subscriberの登録に失敗する.

EventBusはアプリのパッケージ名(applicationId)がjava, javaxまたはandroidから始まるものはSystemクラスのものとしてSubscriber登録をスキップする.

// de.greenrobot.event.SubscriberMethodFinder#findSubscriberMethods
if (name.startsWith("java.") || name.startsWith("javax.") || name.startsWith("android.")) {
    // Skip system classes, this just degrades performance
    break;
}

下記のEventBusExceptionが発生している場合はパッケージ名にこれらが含まれていないか一度確認してみるとよい.

de.greenrobot.event.EventBusException: Subscriber class HogeActivity has no public methods called onEvent

確認バージョン: EventBus 2.4.0