如何检查是否已接收广播?

时间:2018-07-31 19:35:53

标签: android broadcastreceiver firebase-cloud-messaging

我正在尝试从etEmail = (EditText) findViewById(R.id.et_checkout_email); inputLayoutEmail = (TextInputLayout) findViewById(R.id.input_layout_email); 类向broadcast发送FragmentFirebaseMessagingService,是否有任何办法知道片段已接收到广播,除了有一个变量,存储此片段是否已初始化,然后发送广播(But it will only work if Fragment does get killed between sending the broadcast)?

1 个答案:

答案 0 :(得分:1)

是的,您可以通过ResultReceiver轻松实现此目标:

  1. 制作自定义ResultReceiver。
  2. 因此,现在您可以将ResultReceiver(即Parcebale)的对象从dates_GM <- seq(from = start(ts_GM), to = end(ts_GM), by = "hour") merge(ts_GM, dates_GM, fill = NA, all = TRUE) # and merge(ts_GM, dates_GM) 传递到您的Activity,因此在客户端(在Activity中),您将获得ResultReceiver并在以下情况下调用send(...)方法用户界面已更新。
  3. 在ResultReceiver中处理来自Activity的结果。

如果用户界面已更新,但在那一刻他离开了活动,那么您也可以进行一些改进(想象一下聊天应用程序,用户仍在应用程序中,而当推送到设备时,UI改变了,但是他不能正确看到他在那一刻从活动中离开的更新cuz)。在这种情况下,您可以获取活动的UI Handler并发送一条消息,并以postDelayed(1-2秒)排队到此Handler。因此,现在在handleMessage()中,您将调用ResultReceiver的send(...)。