Кнопка onClick в пользовательском уведомлении

Я пытаюсь поймать действие нажатия на кнопку пользовательского уведомления. Я хочу избежать создания класса, расширяющего BroadcastReciever, Для этого в своем классе обслуживания я пишу следующее:

this.registerReceiver(new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.v ("Myreceiver", "on click catch")
        }
    }, new IntentFilter("MyRemoteViewsBroadcast"));

PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent("MyRemoteViewsBroadcast"), 0);
remoteviews.setOnClickPendingIntent(R.I'd. Button, pi);

Но это не работает. Я что-то теряю?

Изменить: под "Это не работает", я имею в виду, что метод OnReceive() никогда не вызывается, когда я нажимаю на кнопку. (Извините за неполный вопрос)

1 ответ

Я только что понял, в чем проблема!!!

Код работает отлично!!! Я написал в своем собственном коде:

PendingIntent playPendingIntent = PendingIntent.**getService**( getApplicationContext(), NOTIFICATION_ID, new Intent("MyRemoteViewsBroadcast"), 0);

вместо:

PendingIntent playPendingIntent = PendingIntent.**getBroadcast**( getApplicationContext(), NOTIFICATION_ID, new Intent("MyRemoteViewsBroadcast"), 0);

Глупая ошибка. Мне нужен отдых! Приносим извинения за неудобства.

Другие вопросы по тегам