我在选择从广播接收器传递数据到ViewModel的正确方式以及从那里传递数据到我的Repository并更新LiveData方面遇到了困难。我使用FCM推送通知,并且有一个使用ActivityLifecycle的本地广播接收器。
我发现从BroadcastReceiver访问ViewModel是不良实践,但不确定为什么?
如果我管理广播接收器的生命周期,它不应该引起任何问题...那么将接收到的数据从FCM传递给我的Repository的MediatorLiveData的最佳方法是什么? 我使用MediatorLiveData,因为我添加了不同的LiveData来源(API请求和FCM)。
感谢建议和正确实现广播接收器的方式。
我已经考虑从BroadCastReceiver访问Repository,如下所示:
RepositoryMain.getSingletonInstance().setResponse(state);