Acceder

Ver la Versión Completa : notificationcompat.inboxstyle


jdiego22
19/05/14, 09:43:44
Buenos días:
Tengo un problema con eclipse y no encuentro solución en ningún sitio.
Estoy realizando una aplicación en la que uso notificaciones expandidas y al escribir lo siguiente en mi código me da error:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setSmallIcon(icon)
.setContentTitle(title)
.setContentText(message);
// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(context, MainActivity.class);

// The stack builder object will contain an artificial back stack for the
// started Activity.
// This ensures that navigating backward from the Activity leads out of
// your application to the Home screen.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(MainActivity.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERV ICE);
// mId allows you to update the notification later on.
mNotificationManager.notify(1, mBuilder.getNotification());

NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();

mBuilder.setStyle(inboxStyle);

El error que me da es: NotificationCompat.InboxStyle cannot be resolved to a type
Muchas gracias de antemano.
Un saludo.

kriogeN
19/05/14, 13:44:14
En teoría no debería dar error, aunque el código no debe funcionarte bien.

Si utilizas un Style y es procedente, es decir, lo usas en una versión de Android que es compatible con ese Style, en este caso Jelly Bean. Los datos de la notificación deberán ir también en el InboxStyle, es decir, el InboxStyle debe llevar sus correspondientes addLine y summaryText.

Y luego además el Style debes ponerlo ANTES de mostrar la notificación con notify, además de que getNotification() está deprecated y deberías usar build(), pero en un principio esto no es muy importante.

Aún así no debería darte error de que no encuentra el tipo, prueba actualizando la Android Support V4 a la última versión.

jdiego22
19/05/14, 14:30:47
En teoría no debería dar error, aunque el código no debe funcionarte bien.

Si utilizas un Style y es procedente, es decir, lo usas en una versión de Android que es compatible con ese Style, en este caso Jelly Bean. Los datos de la notificación deberán ir también en el InboxStyle, es decir, el InboxStyle debe llevar sus correspondientes addLine y summaryText. Se que no funcionaría sigun está pero el problema es que me sale ese error y ya no puedo seguir.

Y luego además el Style debes ponerlo ANTES de mostrar la notificación con notify, además de que getNotification() está deprecated y deberías usar build(), pero en un principio esto no es muy importante.
Es que si pongo build() en vez de getNotification() tambien me da error.

Aún así no debería darte error de que no encuentra el tipo, prueba actualizando la Android Support V4 a la última versión.
Tengo todo actualizado a la última versión.

Muchas gracias por contestar.

kriogeN
19/05/14, 15:32:19
Pues si el build también te falla todo apunta a que algo no está actualizado.

jdiego22
19/05/14, 16:29:46
pues he actualizado todos los pauetes del sdk y eclipse.
ya no se que más me puede quedar :cry: :cry: :cry: :cry:

kriogeN
19/05/14, 17:41:31
Actualizando el Android Suppor V4 a la última versión lo que haces es actualizarlo en el SDK, pero no en tu proyecto. Ahora tienes 2 opciones, copiar a mano el .jar del directorio del Android Support V4 en el libs de tu proyecto, o desde el Eclipse tienes una opción para que se descargue la última versión y lo añada automáticamente al proyecto: Botón derecho al proyecto, Android Tools->Add Support Library...

intercadente
19/05/14, 18:17:11
Actualizando el Android Suppor V4 a la última versión lo que haces es actualizarlo en el SDK, pero no en tu proyecto. Ahora tienes 2 opciones, copiar a mano el .jar del directorio del Android Support V4 en el libs de tu proyecto, o desde el Eclipse tienes una opción para que se descargue la última versión y lo añada automáticamente al proyecto: Botón derecho al proyecto, Android Tools->Add Support Library...

También lo he hecho y tampoco me funciona.
Muchas gracias por todo el tiempo que estas gastando conmigo.

jdiego22
19/05/14, 20:08:31
También lo he hecho y tampoco me funciona.
Muchas gracias por todo el tiempo que estas gastando conmigo.

Era yo con la cuenta de mi novia jaja

kriogeN
20/05/14, 09:25:04
Pues ya ni idea, a mi si me funciona con la versión que tengo del Android Support V4.

¿Estás usando un paquete de compilación de Google APIs o uno normal? Teóricamente con el normal debería funcionar, pero no se, ponlo con Google APIs a ver si fuese eso.

jdiego22
20/05/14, 13:05:33
He probado con los dos y en varias versiones de android.
Muchas gracias de todas formas.
Si encuentro la solución la pondré por aquí.