AlarmManager не срабатывает при получении в BroadcastReceiver на Android 6.0 - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь закрыть Уведомление с помощью AlarmManager и Broadcast Receiver, но метод onReceive никогда не вызывается, и мне интересно, почему?Я искал почти все связанные темы, но ни одна из них не могла мне помочь.Вот мой код:

public class NotificationCancelReceiver extends BroadcastReceiver {
    @Inject
    protected NotificationManager notificationManager;

    public NotificationCancelReceiver() {
        super();
        App.appComponent.inject(this);
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        String id = intent.getStringExtra(OtherParams.NOTIFICATION_ID);
        if(!id.isEmpty()){
            notificationManager.cancelNotification(id);
        }
    }
}


Here is the code reponsible for creating the alarm:


    private void setCancelAlarm(String notificationId){
       AlarmManager alarmManager = (AlarmManager) application.getApplicationContext().getSystemService(ALARM_SERVICE);
        Intent intent = new Intent(application, NotificationCancelReceiver.class);
        intent.putExtra(OtherParams.NOTIFICATION_ID, notificationId);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(
               application, Integer.parseInt(notificationId), intent, 0);
        alarmManager.set(AlarmManager.RTC_WAKEUP,
                SystemClock.elapsedRealtime() + 10, pendingIntent);
    }

Manifest.xml:

<receiver
    android:name="services.NotificationCancelReceiver">
</receiver>

Я также внедряю Broadcast Receiver с Dagger, но он не срабатывает, даже когда я отключаю это:

@Singleton
@Component(modules = {
        AppModule.class})
    public interface AppComponent {
        ActivityComponent getActivityComponent(ActivityModule module);

        void inject(App app);

        void inject(NotificationCancelReceiver notificationReceiver);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...