Un sistema potrebbe essere l'utilizzo delle notifiche push (da server verso i client).
Hai sostanzialmente due possibilità: MQTT e FCM (Firebase Cloud Messaging)
La seconda funziona anche a telefono spento (ovvero ci pensa Google a dire al tuo telefono che c'è una notifica in attesa), mentre la prima, se il telefono è spento, dopo i suoi x tentativi, lascia cadere la cosa.
In un caso e nell'altro, sarebbe ottima cosa far sì che all'avvio dell'app client, questa interroghi il server per sapere se ci sono mesasggi in attesa. Un po' come fanno i programmi di chat (che quindi non si limitano alle sole notifiche).
Sia MQTT che FCM consentono di inviare messaggi ad un unico destinatario, ma puoi sempre inviare gli stessi msg a tutti e poi solo il destinatario (nel tuo caso il device che ha inviato la domanda) mostrerà la notifica (o direttamente la risposta se è in foreground).
sarebbe forse opzione migliore la gestione push FCM che non ho mai fatto, ora e capire come gestire la cosa
ho fatto in modo che client e risponditore siano due mondi diversi ma che lavorano in sinergia, in mezzo li tiene legato un database dove il risponditore prende a carico le domande e le risponde aggiornando il record stesso quindi il record contiene dei true e false in base allo status
domanda nuova il suo valore e falso
domanda risposta il suo valore e true
ora quando il valore e true il risponditore la ignora e va avanti con il suo lavoro, mentre il client (manualmente) la prende in carico e la pubblica, quel manualmente vorrei farlo diventare automatico, il ciò significa che devo fare un azione di tipo click o avviso il cliente con un FCM o il client lo fa manualmente.
Avevo pensato alla sezione activity.resume che potrebbe essere un idea, l'atra e un timer ma credo sia un enorme spreco di energia del telefono... molto indeciso.