Service
来接收来自
服务器。Activity
就好了。但是,当活动不在“ onResume”状态下发送数据时,不会接收到数据。 问题: 如果活动不在前景上,则该活动不会更新。
不在前台:这意味着我已经调用unregisterReceiver
来注销我的onPause
方法。
我当前的用户情况:我正在使用Service
来拦截使用FCM从服务器发送的通知
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "[" + MyFirebaseMessagingService.class.getName() + "]=";
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onNewToken(String token) {
Log.d(TAG, "Refreshed token: " + token);
}
/**
* Handle time allotted to BroadcastReceivers.
*/
private void handleNow() {
Log.d(TAG, "Short lived task is done.");
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
// Handle message within 10 seconds
handleNow();
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
}
// <-----------RX JAVA Observable Implementation----------->
// I would like to use Rx java to send data to my activity ONLY if the activity is in the foreground
// because data will be used to update the UI
}
@Override
public void onDeletedMessages() {
super.onDeletedMessages();
}
}
我调查了RXjava
,发现该库负责异步操作,但是我很好奇的是:
一旦活动回到前台,RXjava
中是否有任何功能可以自动更新该数据?
如果没有,还有哪些其他选择?
也许这个问题已经被回答了,但是我在这里找不到要实现的精确用户案例。另外,我可能会问错这个问题,但这只是在这里解释了我的困惑