El proyecto en el que estoy trabajando tiene dos aplicaciones diferentes, 1 es servidor y el otro es cliente. La aplicación del servidor tiene 1 clase de servicio, que inicia el hilo del servidor en la función onStartCommand()
. La clase para el hilo del servidor se define en la propia clase de servicio. Cada vez que el servidor recibe datos del cliente, los almacena en la base de datos. El problema es que quiero notificar al usuario que se han recibido nuevos datos a través de una notificación o un mensaje de bienvenida, lo que sea posible. También dígame dónde debo escribir el código para la notificación, si debo escribir en clase de servicio o clase de subproceso o clase firstActivity
desde la que estoy comenzando el servicio del servidor. Gracias.¿Cómo mostrar notificaciones desde el servicio en segundo plano?
Respuesta
Estoy leyendo esta manera incorrecta? ¿Tanto su aplicación de servidor como su aplicación de cliente están ambas en el mismo dispositivo Android?
En cualquier caso, echar un vistazo a las ApiDemos de código para las notificaciones a través de un servicio.
Y como es probable que tenga que tratar con un servidor remoto (y no uno local) y todos los problemas de latencia asociados con la red, creo que es mejor que ajuste su servicio en una AsyncTask.
también aprender sobre los receptores de radiodifusión, registraron los receptores de radiodifusión puede ser gran manera de desencadenar Servicios/Actividades sin la necesidad de tener su propio sondeo de servicio en un bucle indefinidamente.
¡Gracias! mi aplicación de servidor y cliente se ejecuta en diferentes emuladores, no hay ningún problema en la transferencia de datos y el almacenamiento en la base de datos. Veré los receptores de transmisión. ¿Hay alguna manera de detectar que hay un cambio en la tabla de la base de datos? De modo que si se encuentran cambios, puedo notificar al usuario de la clase de actividad. – sagar
Como dijo, he usado broadcast reciever, y está funcionando, pero quiero enviar 1 cadena con difusión y mostrar esa cadena en el mensaje de brindis. He usado intent.putextra(). pero en el extremo receptor recibo un valor nulo, creo que el problema está en mi código extra, ¿puede decirme cómo recibir el envío de datos por intento de transmisión? – sagar
En primer lugar usted necesita leer este artículo sobre cómo utilizar Notifications.
Siguiente utilizarlo para enviar una notificación, puede escribir este código en la clase de servicio en el punto por el que recibe algunos datos desde el cliente.
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. Detener un servicio en segundo plano desde la notificación
- 2. android - use la cámara desde el servicio en segundo plano
- 3. cómo descargar el archivo con el servicio en segundo plano?
- 4. Evitar el desplazamiento en segundo plano al mostrar ventanas emergentes
- 5. ¿Por qué utilizar el servicio para tareas en segundo plano?
- 6. ¿Cómo ejecutar siempre un servicio en segundo plano?
- 7. Cómo programar una tarea en segundo plano
- 8. Inicio de servicio en segundo plano cuando Android enciende
- 9. iOS procesado en segundo plano
- 10. iOS: ¿reproducción en segundo plano desde el navegador?
- 11. Obtención de instancia del Servicio en segundo plano
- 12. Servicio de transferencia inteligente en segundo plano En C#
- 13. Reconocimiento de voz como servicio en segundo plano
- 14. Android - Ejecutar en segundo plano - Servicio vs. clase Java estándar
- 15. Proporcionar un servicio en segundo plano para otras aplicaciones
- 16. Llamadas de red en segundo plano: iOS
- 17. ¿Cómo leer el mensaje entrante usando el servicio en segundo plano en android?
- 18. Cómo iniciar una tarea en segundo plano en el servicio Android
- 19. Depurando tareas en segundo plano
- 20. Ejecutar tarea en segundo plano en JavaFX
- 21. ¿Cómo se puede detectar si una página está en segundo plano o en primer plano con jquery/javascript?
- 22. Programa Java ejecutándose en segundo plano
- 23. ¿Cómo recibir notificaciones de MonoTouch sobre mi solicitud cerrada/enviada a segundo plano?
- 24. El servicio en segundo plano necesita enviar la ubicación del GPS en el servidor
- 25. Cómo iniciar el servidor de rieles en segundo plano
- 26. ¿Cómo se usa AsyncTask para mostrar un ProgressDialog mientras se trabaja en segundo plano en Android?
- 27. ¿Ejecutando el servidor de Webrick en segundo plano?
- 28. Cómo usar la cámara para tomar fotos en segundo plano ¿Servicio en Android?
- 29. ¿Cómo mantener la conexión de socket VOIP en segundo plano?
- 30. Trabajo en segundo plano en Powershell
posible duplicado de [envío de una notificación de un servicio en Android] (http://stackoverflow.com/questions/1207269/sending-a-notification-from-a-service-in-android) – Reno
@ Reno: Ya mencioné esta publicación, pero no entendí dónde debería colocar ese código, también ese código está incompleto. Soy principiante en Android. – sagar