getApplication () в FirebaseMessagingService - PullRequest
0 голосов
/ 10 апреля 2020

Очевидно, что FirebaseInstanceIdService ограничен. Итак, я пытаюсь изменить этот код:

import androidx.annotation.Nullable;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;

public class InstanceIDService extends FirebaseInstanceIdService {

    @Override
    public void onTokenRefresh() {
        // Get updated InstanceID token.
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        sendRegistrationToServer(refreshedToken);
    }

    private void sendRegistrationToServer(@Nullable String token) {
        if (token != null) {
            ((SubApp) getApplication()).getRepository().registerInstanceId(token);
        }
    }
}

на код ниже и адаптироваться к новым требованиям Firebase:

import androidx.annotation.Nullable;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.messaging.FirebaseMessagingService;

public class InstanceIDService extends FirebaseMessagingService {

    @Override
    public void onNewToken (@Nullable String token) {
        // Get updated InstanceID token.
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        sendRegistrationToServer(refreshedToken);
    }

    private void sendRegistrationToServer(@Nullable String token) {
        if (token != null) {
            ((SubApp) InstanceIDService.this.getApplication()).getRepository().registerInstanceId(token);
        }
    }
}

Кажется, getApplication() здесь не работает , Даже с getActivity().getApplication(). Ошибка:

не удается разрешить метод getApplication().

Также у меня есть ошибка ниже для @override в FirebaseMessagingService:

Метод не переопределяет метод из суперкласса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...