Jak anulować alarm, który rozpoczął działalność i skasować go w odbiorniku transmisji

głosy
0

Stworzyłem alarm działalność i stara się odwołać go w innej audycji receiver.This alarmu w określonym czasie, aby pokazać powiadomienie do użytkownika

Sprawdziłem różne posty tutaj, ale nic nie działało.

Kod używam jest jak poniżej:

MainActivity.java

                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(mydateobj.getTime());
                calendar.set(Calendar.HOUR_OF_DAY, 9);
                calendar.set(Calendar.MINUTE, 20);
                Intent intent = new Intent(MainActivity.this, Myreceiver.class);
                AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
                PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
                intent.putExtra(pendingIntent,pendingIntent);
                alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);

A moja Broadcastreceiver realizacja, jak poniżej:

 @Override
    public void onReceive(Context context, Intent intent) {

        Intent  newIntent = new Intent(context,Myreceiver.class);
        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        if(intent!= null) {

            PendingIntent pendingIntent = intent.getParcelableExtra(pendingIntent);
            if(pendingIntent!=null)
            {

                alarmManager.cancel(pendingIntent);
                pendingIntent.cancel();
            }
        }

Mam zerowy pendingIntent stąd nie anuluje więc mogę powtarzającego Notification.

Próbowałem też stworzenie PendingIntent w moim odbiorniku z tym samym identyfikatorem i flagi i próbował odwołać zarządcę alarmowego, jak również pendingIntent utworzony w tym odbiorniku jednak to nie działa.

Każda pomoc jest mile widziana.

Utwórz 19/12/2018 o 14:10
źródło użytkownik
W innych językach...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more