Очевидно, что 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:
Метод не переопределяет метод из суперкласса