首页 > 解决方案 > 在检索到数据后返回前台时更新 Activity

问题描述

问题: 当活动不在前台时,活动没有更新。

不在前台:这意味着我已经在我的方法中调用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一下,发现该库负责异步操作,但我很好奇的是:一旦 Activity 回到前台,其中
是否有任何函数RXjava会自动更新该数据?

如果不是,还有哪些其他选择?

也许这个问题已经得到解答,但我找不到我想要在这里实现的精确用户案例。另外,我可能会错误地问这个问题,但这只是解释了我在这里的困惑

标签: javaandroidrx-java2

解决方案


推荐阅读