Android: Notifications y Services

_Sioke_

Buuenas,

Estoy queriendo modificar la base de datos de mi aplicación a través de los click que se realicen en las notificaciones. Sin que el usuario tenga que volver a intereactuar con la aplicación.
El caso es que lo que más me ha cuadrado es el Service.

Mi implementación:

por un lado la actividad que crea las notificaciones: MyActivity.class

....
Intent cIntent = new Intent(MyActivity.this, MyService.class);
cIntent.putExtra("task", task,getId());
PendingIntent pcIntent = PendingIntent.getService(ctx, 0, cIntent,0);

NotificationCompat.Builder myBuilder= new NotificationCompat.Builder(ctx)
.setSmalIcon()
.setWhen()
.addAction(R.drawable.myicon, pcIntent);

Intent resultIntent = new Intent (ctx. MenuActivity.class);

TaskStackBuilder stackBuilder = TaskStackBuilder.create(ctx);
stackBuilder.addParentStack(MenuActivity.class);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
myBuilder.setContentIntent(resultPendingIntent);
NotificationManager myManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
myManager.notify(notif.getID(), myBuilder.build());

Por otro lado el Service:

public class MyService extends IntentService

protected void onHandleIntent(Intent intent)
{
    Context ctx = getApplicationContext();
    SQLiteClass dbTask = new SQLiteClass(ctx);
    Task task = intent.getIntExtra("task");
    actualizaDbTask(dbTask, task);
    
}

Con el debug el método onHandleIntent no se llega a usar nunca cuando se hace click sobre el icono dentro de la notificación. ¿A qué podría deberse? ¿Es esta la mejor solución?

_Sioke_

Por si alguien tenía curiosidad...

El fallo era lo más tonterrimo. No estaba declaradoel Service en el manifiesto... lolwut por lo demás el código funciona perfectamente.
No da fallo al ejecutarse como si acostumbra cuando no tienes una actividad declarada, simplemente se queda igual. Así que estaba un poco perdido :yawn:

1

Usuarios habituales

  • _Sioke_