使用RxJava和Handler重置Message.what值
Rxjava 1.1.8
这个想法是听消息与订阅,但message.what
属性来总是0。
class RxHandler(looper: Looper) : Handler(looper) { val messagesObservable = PublishSubject<Message>() override fun handleMessage(msg: Message?) { super.handleMessage(msg) msg?.let { messagesObservable.onNext(it) } } }
然后订阅它:
playbackHandler.messagesObservable .subscribe({ // it.what is always 0 }, { Timber.e(it, "Error on playback handler message handling") })
接着:
playbackHandler.sendEmptyMessage(1)
然后我得到message.what == 0
预期: message.what == 1