Llamada múltiple a startforeground?
He creado un servicio (EmailService) que envía correo electrónico … cada vez que necesito enviar un correo electrónico con mi aplicación, se inicia el servicio y pasar el ID del correo electrónico a través de una intención …
Estoy utilizando startforeground(id_of_email, mynotifcation);
Para evitar su muerte y para mostrar una notificación al usuario del estado del envío del correo electrónico.
- Diálogo de alerta del servicio de Android
- Clear Aplicaciones recientes limpiar la memoria de aplicaciones y mi receptor dejó de funcionar
- Observable vs. Servicio en Android
- Compartir una biblioteca nativa en dos aplicaciones
- Inicio del servicio en el arranque sin actividad
Tengo que permitir al usuario enviar múltiples correos electrónicos en el momento, por lo que cuando el usuario necesita enviar otro correo electrónico, vuelve a llamar a startservice
con una nueva intención (diferente id de correo electrónico) … así que llama a startforeground(new_id_of_email, mynotifcation);
de nuevo.
El problema es que la nueva llamada a startforeground
sobrescribe la notificación anterior … (para que el usuario pierda la notificación anterior y no sepa lo que está pasando con su anterior correo electrónico)
- Android jobScheduler no se detendrá con jobFinished (params, false)
- Obtener una vista de AccessibilityNodeInfo para crear superposición
- Cualquier forma de detectar pulsaciones de teclas de volumen o cambios de volumen con el servicio de Android?
- Reconocimiento de voz como servicio de fondo
- Llamar al método getIntent en servicio
- Android Service se está ejecutando, pero no aparece en la configuración -> servicios en ejecución
- Android: intent.putExtra en una clase de servicio para obtener notificaciones
- DispatchKeyEvent desde Service
Al examinar la fuente Service.startForeground Service.startForeground()
muestra que varias llamadas a startForeground solo reemplazarán la notificación mostrada actualmente. De hecho, la llamada a startForeground es idéntica a stopForeground()
, sólo con removeNotification
conjunto removeNotification
establecido siempre en true.
Si desea que el servicio muestre una notificación para cada correo electrónico en curso, tendrá que administrar cada notificación individualmente del servicio.
public final void startForeground(int id, Notification notification) { try { mActivityManager.setServiceForeground( new ComponentName(this, mClassName), mToken, id, notification, true); } catch (RemoteException ex) { } } public final void stopForeground(boolean removeNotification) { try { mActivityManager.setServiceForeground( new ComponentName(this, mClassName), mToken, 0, null, removeNotification); } catch (RemoteException ex) { } }
- El teclado suave androide arruina el diseño cuando aparece
- Cómo iniciar la aplicación Vuforia AR sample android?