Уведомление deleteIntent не работает - PullRequest
14 голосов
/ 11 января 2012

Я прочитал несколько вопросов, касающихся проблем similair, но они не дают мне решения.

В моем приложении для Android я запускаю уведомление (в классе Application, чтобы быть конкретным, что на самом делезапущен из события C2DM push).

Затем я хочу получить Intent, когда на уведомлениях нажимается кнопка «очистить все»:

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

В моем NotificationDeleteReceiver.class я получилметод onReceive:

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

    }
}

В моем файле манифеста я получил:

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

Но все равно onReceive не вызывается.Что я могу делать не так?Есть ли какой-нибудь умный способ отладки и проверки, действительно ли Intent запущен?

Нужен ли какой-то фильтр намерений или он подойдет?

Любые советы приветствуются.

1 Ответ

12 голосов
/ 11 января 2012

Если вы хотите использовать намерение с BroadcastReceiver, вы должны использовать PendingIntent.getBroadcast вместо PendingIntent.getService.Вам также может понадобиться установить соответствующий фильтр намерений.

...