Il progetto su cui sto lavorando ha due app diverse, 1 è server e l'altro è client. L'app server ha 1 classe di servizio, che avvia il thread del server nella funzione onStartCommand()
. La classe per il thread del server è definita nella classe di servizio stessa. Ogni volta che il server riceve dati dal client che memorizza nel database. Quindi il problema è che voglio avvisare l'utente che i nuovi dati sono stati ricevuti tramite notifica o messaggio brindisi qualunque sia possibile. Dimmi anche dove scrivere codice per la notifica, se dovrei scrivere in classe di servizio o classe thread o classe firstActivity
da cui sto avviando il servizio server. Grazie.Come mostrare la notifica dal servizio in background?
risposta
Sto leggendo questo in modo errato? Sia l'app del server sia l'app del client si trovano sullo stesso dispositivo Android?
In ogni caso, dare un'occhiata a ApiDemos per il codice per le notifiche attraverso un servizio.
E dal momento che probabilmente avremo a che fare con un server remoto (e non locale) e tutti i problemi di latenza associati alla rete, penso che sia meglio racchiudere il servizio in un AsyncTask.
Ulteriori informazioni sui ricevitori di trasmissione, i ricevitori di trasmissione registrati possono essere un ottimo modo per attivare servizi/attività senza la necessità di avere il proprio polling di servizio in un ciclo indefinito.
Grazie! il mio server e la mia app client sono in esecuzione su diversi emulatori, non vi è alcun problema nel trasferimento dei dati e nella loro memorizzazione nel database. Guarderò i ricevitori di radiodiffusione. C'è un modo per rilevare ci sono cambiamenti nella tabella del database? In modo che se le modifiche rilevate posso notificare all'utente dalla classe di attività. – sagar
Come ho detto, ho utilizzato il ricevitore di trasmissione e funziona, ma voglio inviare 1 stringa con trasmissione e visualizzare quella stringa in msg. Ho usato intent.putextra(). ma al ricevitore ricevo il valore nullo, penso che il problema sia nel mio codice aggiuntivo, puoi dirmi come ricevere i dati inviati per intenti broadcast. – sagar
Per prima cosa devi leggere questo articolo su come utilizzare Notifications.
Successivamente utilizzare questo per inviare una notifica, è possibile scrivere questo codice nella classe di servizio nel punto in cui si ricevono alcuni dati dal client.
NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
int icon = R.drawable.notification_icon;
CharSequence notiText = "Your notification from the service";
long meow = System.currentTimeMillis();
Notification notification = new Notification(icon, notiText, meow);
Context context = getApplicationContext();
CharSequence contentTitle = "Your notification";
CharSequence contentText = "Some data has arrived!";
Intent notificationIntent = new Intent(this, YourActivityThatYouWantToLaunch.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
int SERVER_DATA_RECEIVED = 1;
notificationManager.notify(SERVER_DATA_RECEIVED, notification);
- 1. Notifica attività dal servizio
- 2. - Esecuzione in background dal servizio
- 3. Notifica locale in background
- 4. Come mostrare la notifica di chiamata in arrivo nell'applicazione Android
- 5. Android come mostrare la notifica sullo schermo
- 6. Notifica locale casuale in background
- 7. come scaricare file con servizio in background?
- 8. Apri/Esegui fotocamera dal servizio in background in Android
- 9. Come eseguire l'intera app Android ionica come servizio in background?
- 10. Aggiornamento del database Firebase dal servizio in background
- 11. Screenshot dal servizio in background di un'altra applicazione (programmaticamente)
- 12. Notifica avanzamento thread in background in MVVM?
- 13. Come mostrare una notifica anche applicazione non è in esecuzione
- 14. Come creare un servizio in background sempre in esecuzione?
- 15. Notifica popup per il componente aggiuntivo di Outlook (chiamata Form.Show() dal problema del thread in background)
- 16. notifica di elaborazione in background per richieste $ http
- 17. Come mostrare la notifica solo sul dispositivo Android Wear
- 18. avvia l'attività dal servizio quando si fa clic sulla notifica
- 19. Come aggiornare la posizione di google map v2 dal servizio di background android
- 20. Creazione del servizio in background in Android
- 21. Come simulare il tocco dal servizio in background con sendevent o in altro modo?
- 22. Notifica servizio di notifica di Windows 8 dal prompt dei comandi
- 23. Come accedere alle visualizzazioni dell'attività originale dal servizio in background generato
- 24. Servizio in background nell'app apache cordova
- 25. Notifica icona per il servizio finestra
- 26. Rilevamento regione dei beacon estimetrici da un servizio in background
- 27. confronto servizio notifica push Android
- 28. iOS: riproduzione in background dal browser?
- 29. Implementazione di un conto alla rovescia con Servizio in background
- 30. Come eseguire il debug di un servizio in background Android?
possibile duplicato di [Invio di una notifica da un servizio in Android] (http://stackoverflow.com/questions/1207269/sending-a-notification-from-a-service-in-android) – Reno
@ Reno: Ho già fatto riferimento a questo post, ma non ho capito dove dovrei inserire quel codice, anche quel codice è incompleto. Sono principiante in Android. – sagar