Android, el icono de alarma en el lado derecho del área de notificación?
Cuando establezco una alarma con la aplicación de reloj incorporado, aparecerá un icono en el lado derecho del área de notificación. Pero no estará allí si configuro una alarma con AlarmManager. ¿Hay alguna manera de que pueda mostrar ese icono?
Me pareció que parece que despertador realmente escribe registros a un ContentProvider en lugar de utilizar AlarmManager directamente. Lo intentaré mañana.
- Iniciar y detener una notificación del receptor de emisión
- Creación de una notificación de insignia similar a la del iPhone en Android
- ¿Cómo puedo activar las vibraciones y las luces con la API de notificaciones de Android?
- ¿Cómo enviar parámetros desde un clic de notificación a una actividad?
- Botones de acción de notificación appereance
Y parece que el proveedor no tiene la intención de ser utilizado por otras aplicaciones.
- ¿Error de notificación de la barra de estado personalizada de Android?
- Notificación de Push en Android?
- Recordatorio de Android
- Notificación de Android - java.lang.Throwable: volcado de pila
- Comprobar si la notificación de mi aplicación se está ejecutando
- ¿Cómo escribir una notificación que hace absolutly nada cuando se hace clic?
- Cómo enviar una notificación desde el servidor PHP a la aplicación Android
- NotificationCompat.Builder addAction falta?
¿Hay alguna manera de que pueda mostrar ese icono?
Ese icono es para la aplicación Despertador que forma parte del firmware. Ese icono sólo aparecerá si el usuario tiene una alarma activa del despertador. No puede ser manipulado directamente por el SDK de Android.
Este icono es parte de la aplicación de AlarmClock no el androide SDK. Android tiene una aplicación incorporada (stock) AlarmClock, pero muchos proveedores (como Samsung) la están reemplazando por la suya. Así que no hay una forma segura de mostrar ese icono en particular de su aplicación.
El mejor enfoque es crear su propio icono ya que está realizando una aplicación que establece alarmas y desea que se notifique a sus usuarios.
PS Aquí está el código de la actividad que muestra el icono en la aplicación stock AlarmClock como se puede ver en la línea 181, el dibujable del icono es R.drawable.stat_notify_alarm y no Android.R.drawable.stat_notify_alarm para que no pueda usarlo.
Espero que esto ayude…
(cross-posted from self-answer en la pregunta relacionada: Controlling the Alarm icon in status bar )
V5 Lollipop
Lollipop finalmente eliminó las características privadas de la API. Esta técnica ya no funciona desde v5.
He publicado una nueva pregunta sobre Lollipop específicamente, y espero tener respuestas pronto:
- Lollipop API para controlar el icono de alarma en la barra de estado
Pre-Lollipop
Así es como se hace, usando propiedades privadas de api :
protected void setStatusBarIcon(boolean enabled) { Intent alarmChanged = new Intent("android.intent.action.ALARM_CHANGED"); alarmChanged.putExtra("alarmSet", enabled); sendBroadcast(alarmChanged); }
Gracias a Andy Savage en este hilo de Google Groups:
- AlarmManager con icono de alarma
- Enlace directo a la publicación archivada
Nota importante: como se indicó anteriormente, esto utiliza propiedades privadas, indocumentadas. Todas las advertencias habituales se aplican en torno a esto, como ha señalado Dianne Hackborn en el mismo hilo:
Tenga en cuenta que cuando vea una cadena en bruto como esa ("android.intent.action.ALARM_CHANGED" y "alarmSet"), las campanas de advertencia deben estar apagando en su cabeza que esto está usando APIs privadas.
Y de hecho esto es.
Si utiliza esto, no se sorprenda si se rompe en el futuro al azar no funciona en algunos dispositivos.
De lo que entiendo de tu pregunta, te preguntas cómo hacer que los iconos aparezcan en el área de notificación.
Tendrás que programarlo tú mismo. La documentación lo describe muy bien.
http://developer.android.com/guide/topics/ui/notifiers/notifications.html
- El recolector de basura en Android se está ejecutando, pero no se muestra nada como asignado en el rastreador de asignación de ddms
- ¿Cómo iniciar una actividad con un Intent y pasar una variable en la nueva actividad?