Cómo cancelar la alarma que se inicia en una actividad y cancelarla en receptor de radiodifusión

votos
0

He creado una alarma en una actividad y tratar de cancelarlo en otra emisión de alarma receiver.This se activa en el momento específico para mostrar la notificación al usuario

He comprobado los diferentes puestos de aquí, pero nada funcionó.

Código que estoy usando es la siguiente:

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

Y mi BroadcastReceiver aplicación de la siguiente manera:

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

Me da la nula pendingIntent por lo tanto no está cancelando Notificación por lo que se repiten.

También probé la creación de un PendingIntent en mi receptor con el mismo id y la bandera y trató de cancelar el gerente de alarma, así como la pendingIntent creado en este receptor sin embargo, no funcionó.

Cualquier ayuda es apreciada.

Publicado el 19/12/2018 a las 14:10
fuente por usuario
En otros idiomas...                            

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