После отправки сообщения выбрасывает из приложения. Также не приходят уведомления!

Код проверил уже сотню раз, ни одного правильного ответа в интернете не нашел! Подскажите что не так в коде и на что изменить? MyFirebaseMessaging:

public class MyFirebaseMessaging extends FirebaseMessagingService {

@Override
public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);

    String sented = remoteMessage.getData().get("sented");

    FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();

    if (firebaseUser != null && sented.equals(firebaseUser.getUid())) {
        sendNotification(remoteMessage);
    }
}

private void sendNotification(RemoteMessage remoteMessage) {

    String user = remoteMessage.getData().get("user");
    String icon = remoteMessage.getData().get("icon");
    String title = remoteMessage.getData().get("title");
    String body = remoteMessage.getData().get("body");

    RemoteMessage.Notification notification = remoteMessage.getNotification();
    int j = Integer.parseInt(user.replaceAll("[\\D]", ""));
    Intent intent = new Intent(this, MessageActivity.class);
    Bundle bundle = new Bundle();
    bundle.putString("userid", user);
    intent.putExtras(bundle);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, j, intent, PendingIntent.FLAG_ONE_SHOT);

    Uri defaultSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
            .setSmallIcon(Integer.parseInt(icon))
            .setContentTitle(title)
            .setContentText(body)
            .setAutoCancel(true)
            .setSound(defaultSound)
            .setContentIntent(pendingIntent);
    NotificationManager noti = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

    int i = 0;
    if (j > 0) {
        i = j;
    }

    noti.notify(i, builder.build());
}

MyFirebaseIdService

public class MyFirebaseIdService extends FirebaseInstanceIdService {


@Override
public void onTokenRefresh() {
    super.onTokenRefresh();
    FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();

    String refreshToken = FirebaseInstanceId.getInstance().getToken();
    if (firebaseUser != null) {
        updateToken(refreshToken);
    }
}

private void updateToken(String refreshToken) {
    FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();

    DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Tokens");
    Token token = new Token(refreshToken);
    reference.child(firebaseUser.getUid()).setValue(token);
}

}


Ответы (0 шт):