No se puede detener la alarma de otra actividad

Soy nuevo en Android, aquí estoy practicando mi primera aplicación (aplicación de alarma).

Tengo un problema en mi aplicación que dice que no puedo detener la alarma una vez que se activa una alarma, sigue sonando y no se puede detener.

En mi aplicación tengo 2 actividades y un AlarmReceiver.

Desde AlarmActivity.java configuré la alarma, cuando se alcanza la hora específica, se activará Alarmreceiver.java y la alarma comenzará a sonar y se mostrará una pantalla de activación.

Desde WakeUpScreen.java tengo un botón de detención al usarlo. Necesito detener la alarma de timbre actual.

No tengo ningún problema en Logcat también.

AlarmActivity.java

public void stopAlarm(Context context) { Intent intent = new Intent(context,AlarmReceiver.class); intent.setAction("ALARM_OFF"); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, mAlarmId, intent,PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE); alarmManager.cancel(pendingIntent); } 

Tengo esta función AlarmStop () en mi AlarmActivity.java que se activará cuando presione el botón de detención en wakeupscreen.java

Cuando bash depurar el proceso de detención, el depurador movió todas las líneas en la función stopAlarm (), pero la intención no funciona, por eso el archivo AlarmReceiver.java no se llama, es decir, el depurador movió todas las líneas en el método anterior, pero el AlarmReceiver.java no se llama

Intenté muchas formas de resolver esto pero me perdí algo que no pude descifrar.

¿Alguien puede ayudarme a detener la alarma disparada y su sonido de llamada?

Tu architecture está rota. No usa un BroadcastReceiver para un procesamiento persistente. Un BroadcastReceiver tiene un ciclo de vida muy corto, lo usa para desencadenar otras cosas.

Ha creado una instancia de MediaPlayer en su BroadcastReceiver y está tratando de controlar eso en onReceive() . Esto está mal. Debe usar un Service para administrar y mantener el estado de su MediaPlayer .

Vea si puede encontrar algunas guías de HOWTO en Internet sobre cómo crear dicha aplicación.