Como cancelar o alarme que é iniciado em uma atividade e cancelá-lo no receptor de radiodifusão

votos
0

Eu criei um alarme em uma atividade e tentar cancelá-lo em outra transmissão receiver.This alarme é disparado no tempo específico para mostrar a notificação ao usuário

Fui verificar diferentes mensagens aqui, mas nada funcionou.

Código que estou usando é como abaixo:

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);

E meu BroadcastReceiver implementação como abaixo:

 @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();
            }
        }

Recebo o nulo pendingIntent, portanto, não está cancelando Notificação então eu ter repetido.

Eu também tentei criar um PendingIntent no meu receptor com o mesmo ID e bandeira e tentou cancelar o gerente de alarme, bem como o pendingIntent criado neste receptor no entanto, não funcionou.

Qualquer ajuda é apreciada.

Publicado 19/12/2018 em 14:10
fonte usuário
Em outras línguas...                            

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