タイトルの通り、backgroundhandlerを設置しているのに、onBackgroundMessageの処理が走っていない現象に出会いました。
まだよく理解していませんが、調べてみると、background状態でpush通知をするとシステムトレイに届くみたいで、onBackgroundMessageは走らないということがわかりました。
とはいえ、backgroundでpush通知が届いたときに走らせたい処理があったので、なんとか動かないか色々調べてみると、ありました。
自前のサーバーでpush通知を送信する際に、内容を決められるのですが、HTTP JSON メッセージのオプションでcontent_availableというものをtrueにして送信します。
そうすると、アプリがbackgroundの状態でも、onBackgroundMessageの処理が走るようになりました。
簡単にですが、忘れないように。