android alarmmanager android-pendingintent

android - No se puede detener la alarma de timbre de otra actividad.



alarmmanager android-pendingintent (1)

Tu arquitectura está rota. No utiliza un BroadcastReceiver para el 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á intentando controlarla 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 CÓMO en Internet para saber cómo crear una aplicación de este tipo.

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

Tengo un problema en mi aplicación que no puedo detener la alarma una vez que se activa una alarma que no se puede detener el timbre.

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

Desde AlarmActivity.java he configurado la alarma, cuando se alcanza la hora específica, Alarmreceiver.java se activa y la alarma comienza a sonar y aparece una pantalla de activación.

Desde el WakeUpScreen.java tengo un botón de parada, y 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 detener en wakeupscreen.java

Cuando trato de depurar el proceso de detención, el depurador movió todas las líneas en la función stopAlarm (), pero el Intento no funciona, por eso no se llama al archivo AlarmReceiver.java, quiero decir, el depurador movió todas las líneas en el método más popular, pero el AlarmReceiver.java no se llama

Intenté muchas maneras de resolver esto, pero me perdí algo que no pude entender.

¿Alguien puede ayudarme a detener la alarma activada y suena el timbre?