1

Я хочу, чтобы уведомление происходило всякий раз, когда ребенок добавляется из базы данных firebase. У меня есть код ниже, работающий внутри onChildAdded(), когда приложение запущено или находится в фоновом режиме, но явно не тогда, когда оно закрыто. Я прочитал кое-что о начале службы, но был немного перегружен.Как отправить уведомление, когда приложение закрыто?

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(mRecyclerView.getContext()) 
         .setSmallIcon(R.drawable.icon) 
         .setContentTitle("Title") 
         .setContentText("Content Text"); 

       Intent newAnimalIntent = new Intent(mRecyclerView.getContext(), MainActivity.class); 

       TaskStackBuilder stackBuilder = TaskStackBuilder.create(mRecyclerView.getContext()); 
       stackBuilder.addNextIntent(newAnimalIntent); 
       PendingIntent newAnimalPendingIntent = stackBuilder.getPendingIntent(
         0, 
         PendingIntent.FLAG_UPDATE_CURRENT 
       ); 
       mBuilder.setContentIntent(newAnimalPendingIntent); 
       NotificationManager NM = (NotificationManager) getActivity().getSystemService(getActivity().NOTIFICATION_SERVICE); 
       NM.notify(0,mBuilder.build()); 

ответ

1

Если приложение закрыто, подключение к базе данных может быть закрыто, если вы хотите, чтобы доставить сообщения приложения в этом состоянии, вы должны смотреть на Firebase Cloud Massaging.

Пример этого (объединение базы данных реального времени Firebase и облачных сообщений Firebase) можно найти в этом блоге: Sending notifications between Android devices with Firebase Database and Cloud Messaging.