Android, как отменить будильник? alarmManager.cancel не работает

У меня есть приложение, в котором вы можете создать 5 будильников, где они будут отображаться в ListView, и предположить, что когда элемент listView воспроизводит будильник, но должен удалить элемент из списка, но будильник удаляется, чтобы достичь запланированного времени всегда звуки. Я просмотрел много уроков и руководств о том, как убрать сигналы тревоги, но ни один из них не помог мне. Чтобы удалить то, что я делаю, нужно сохранить идентификатор каждой тревоги в базе данных sqlite, и когда я даю eliminiar тревоги, я делаю, я передаю идентификатор тревоги, который хочу устранить, и передаю его PendingIntent.getBroadcast, чтобы удалить тревогу. хочу но не бывает. Кто-то может проверить мой код и сказать мне, если какая-либо ошибка падает так, чтобы тревога не была устранена. Благодарю вас

Этот метод я использую для создания сигналов

public void agregarAlarma(Calendar targetCal){
    final int _id = ((int)System.currentTimeMillis()/1000);
    Random generator = new Random();
    DbHelper helper = new DbHelper(this);
    SQLiteDatabase bd = helper.getWritableDatabase();

    int id_nuevo = (_id + generator.nextInt());
    if(alarma.getSelectedItem().toString().equals("Desayuno")){
        comida = alarma.getSelectedItem().toString() + " " + targetCal.getTime().toString();
        descripcion = "del desayuno";
    }else if(alarma.getSelectedItem().toString().equals("Primera Merienda")){
        comida = alarma.getSelectedItem().toString() + " " + targetCal.getTime().toString();
        descripcion = "de la primera merienda";
    }else if(alarma.getSelectedItem().toString().equals("Almuerzo")){
        comida = alarma.getSelectedItem().toString() + " " + targetCal.getTime().toString();
        descripcion = "del almuerzo";
    }else if(alarma.getSelectedItem().toString().equals("Segunda Merienda")){
        comida = alarma.getSelectedItem().toString() + " " + targetCal.getTime().toString();
        descripcion = "de la segunda merienda";
    } else if(alarma.getSelectedItem().toString().equals("Cena")){
        comida = alarma.getSelectedItem().toString() + " " + targetCal.getTime().toString();
        descripcion = "de la cena";

    }

    Intent intent;
    PendingIntent pendingIntent;
    AlarmManager alarmManager;

    if(tablaVacia()>= 5){
         Toast.makeText(this,"Esta lista solo permite 5 alarmas, elimine alguna para crear otra nueva",Toast.LENGTH_SHORT).show();
    }else{
         intent  = new Intent(Recordatorios2.this, AlarmReceiver.class);
        intent.putExtra("Comida",comida);
         pendingIntent = PendingIntent.getBroadcast(Recordatorios2.this, id_nuevo ,intent, PendingIntent.FLAG_ONE_SHOT);
         alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);
        descripcionTotal = "Alarma  " + descripcion  + " creada "+ targetCal.getTime().toString();
        Toast.makeText(this,descripcionTotal,Toast.LENGTH_SHORT).show();
        ContentValues valores = new ContentValues();
        valores.put("Descripcion",comida);
        valores.put("Identificador",id_nuevo);
        bd.insert("Alarmas",null,valores);
        llenarListaAlarmas1();
    }



}

Это заполнило listView

    public void llenarListaAlarmas1(){
    listaAlarmas = (ListView)findViewById(R.id.listAlarma);
    lista.clear();
    DbHelper helper = new DbHelper(this);
    SQLiteDatabase bd = helper.getWritableDatabase();

    Cursor c = bd.rawQuery(CONSULTA_ALARMAS,null);

    if(c.moveToFirst()){
        do{
            alarmaDatos = new AlarmaDatos(c.getString(0),null);
            lista.add(alarmaDatos);
        }while (c.moveToNext());
    }
    final ArrayAdapter<AlarmaDatos> adapter1 = new ArrayAdapter<AlarmaDatos>(getApplicationContext(),android.R.layout.simple_list_item_1,lista);
    adapter1.notifyDataSetChanged();
    listaAlarmas.setAdapter(adapter1);
    adapter1.notifyDataSetChanged();

    listaAlarmas.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView adapterView, View view, int position, long id) {

            switch (position){


                case 0:
                    seleccion = adapter1.getItem(position).toString();
                    eliminarAlarma();
                    adapter1.notifyDataSetChanged();
                    lista.remove(position);

                    break;
                case 1:
                    seleccion = adapter1.getItem(position).toString();
                    eliminarAlarma();
                    adapter1.notifyDataSetChanged();
                    lista.remove(position);
                    break;

                case 2:
                    seleccion = adapter1.getItem(position).toString();
                    eliminarAlarma();
                    adapter1.notifyDataSetChanged();
                    lista.remove(position);
                    break;
                case 3:
                    seleccion = adapter1.getItem(position).toString();
                    eliminarAlarma();
                    adapter1.notifyDataSetChanged();
                    lista.remove(position);
                    break;
                case 4:
                    seleccion = adapter1.getItem(position).toString();
                    eliminarAlarma();
                    adapter1.notifyDataSetChanged();
                    lista.remove(position);
                    break;
            }


        }
    });

    }

И ЭТО ОДИН, КОТОРЫЙ ИСПОЛЬЗУЕТСЯ ДЛЯ УДАЛЕНИЯ ТРЕВОГ

                public void eliminarAlarma(){
                DbHelper helper = new DbHelper(getApplicationContext());
                SQLiteDatabase bd = helper.getWritableDatabase();
                int identificador =0;
                String CONSULTA_ID = "SELECT Identificador FROM Alarmas WHERE Alarmas.Descripcion = '" + seleccion + "';" ;
                Cursor cursor = bd.rawQuery(CONSULTA_ID,null);
                if(cursor.moveToFirst()){
                    do{
                        alarmaDatos = new AlarmaDatos(cursor.getString(0),null);
                        identificador = Integer.parseInt(alarmaDatos.toString());

                    }while (cursor.moveToNext());
                }
                Intent intent  = new Intent(getBaseContext(), AlarmReceiver.class);

                PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), identificador ,intent,0);
                AlarmManager alarmManager = (AlarmManager)getSystemService(getApplicationContext().ALARM_SERVICE);
                alarmManager.cancel(pendingIntent);
                pendingIntent.cancel();
                borrar(identificador);
                Toast.makeText(getApplicationContext(),"Alarma eliminada",Toast.LENGTH_SHORT).show();

            }

Может кто-нибудь, пожалуйста, помогите мне с этим, потому что правда не в том, что он устраняет тревогу, если все выглядит хорошо.

ТКС

Ответы на вопрос(0)

Ваш ответ на вопрос