|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Notificaciones Android.
Muy buenas a todos compañeros!!
Veréis, estoy intentando meter un pequeño sistema de notificaciones a mi aplicación, pero me está fallando por un problema de sincronización entre objetos... el error que me da exactamente es: Código:
illegalmonitorstateexception object not locked by thread before notifyall() Código:
synchronized(this) { getNotificacion().notify(); } Gracias de antemano!!
__________________
Apple
Última edición por DaSound Día 23/03/15 a las 14:03:10. |
|
#2
|
||||
|
||||
Las notificaciones no se muestran así, "notify()" es un método que tienen todos los objetos de Java, simplemente por ser objetos. Y sirve para notificar a objetos que están esperando después de un "wait()".
Además de que tu código no funcionarían en el "synchronized(object)" debe ir el mismo objeto que está haciendo el "notify()" o el "wait()". En este caso "synchronized(getNotificacion())". Pero ya te digo que eso no sirve para nada en tu caso, que quieres mostrar la notificación y no avisarla para que se despierte. Sin saber que tipo de objeto devuelve "getNotificacion()" no puedo ayudarte más, sólo que te mires el tutorial oficial de Android Developers sobre notificaciones: http://developer.android.com/guide/t...fications.html |
Gracias de parte de: | ||
#3
|
||||
|
||||
Las notificaciones no se muestran así, "notify()" es un método que tienen todos los objetos de Java, simplemente por ser objetos. Y sirve para notificar a objetos que están esperando después de un "wait()".
Además de que tu código no funcionarían en el "synchronized(object)" debe ir el mismo objeto que está haciendo el "notify()" o el "wait()". En este caso "synchronized(getNotificacion())". Pero ya te digo que eso no sirve para nada en tu caso, que quieres mostrar la notificación y no avisarla para que se despierte. Sin saber que tipo de objeto devuelve "getNotificacion()" no puedo ayudarte más, sólo que te mires el tutorial oficial de Android Developers sobre notificaciones: http://developer.android.com/guide/t...fications.html ![]() Agradezco mucho tu ayuda Kriogen, mira, te pego el código del método: Código:
private Notification getDefaultNotification(Notification.Builder builder) { builder .setSmallIcon(R.drawable.ic_launcher) .setTicker("Optional ticker") .setWhen(System.currentTimeMillis()) .setContentTitle("Default notification") .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.") .setContentInfo("Info"); return builder.getNotification(); } ![]() To issue the notification, you pass the Notification object to the system by calling NotificationManager.notify().
![]() Un saludo y gracias de nuevo!!
__________________
Apple
Última edición por DaSound Día 23/03/15 a las 13:19:51. |
#4
|
||||
|
||||
La documentación está mal, no es notify() sin parámetros, es notify del NotificationManager que le pasas el id y el objeto Notification: http://developer.android.com/referen....Notification)
P.D. Los ejemplos sí están bien
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Última edición por mocelet Día 23/03/15 a las 13:35:23. |
Gracias de parte de: | ||
#5
|
||||
|
||||
La documentación está mal, no es notify() sin parámetros, es notify del NotificationManager que le pasas el id y el objeto Notification: http://developer.android.com/referen....Notification)
P.D. Los ejemplos sí están bien ![]() Gracias a ambos compañeros, ya tengo la app mostrando notificaciones! Un saludo.
__________________
Apple
|
![]() |
![]() |
||||||
|