15

I've read several questions concerning similair issues, but they do not provide me with the solution.

In my Android app I fire off a notification (in the Application class to be specific, which is actually started from a C2DM push event).

I then want to receive an Intent when the "clear all" button is pressed on the notifications:

notification.deleteIntent = PendingIntent.getService(this, 0, new Intent(this, NotificationDeleteReceiver.class), 0);

In my NotificationDeleteReceiver.class I got the onReceive method:

public class NotificationDeleteReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

    }
}

In my manifest file I got:

<receiver android:name="NotificationDeleteReceiver">
</receiver>

But still onReceive does not get called. What could I be doing wrong? Is there any smart way to debug and see if an Intent really is fired?

Do I need some kind of intent filter or should it be fine?

Any tips welcome.

Henrik
  • 1,983
  • 3
  • 28
  • 52

1 Answers1

12

If you want to use the intent with a BroadcastReceiver, you should use PendingIntent.getBroadcast instead of PendingIntent.getService. You might also need to setup an appropriate intent filter.

kabuko
  • 36,028
  • 10
  • 80
  • 93