Frage Wie man den Alarm programmatisch in Android abstellt


Ich habe eine Android-Anwendung. Wenn die App ausgeführt wird, sollte der Alarm stummgeschaltet oder deaktiviert sein. Nach dem Schließen der Anwendung sollte der Alarm erneut aktiviert werden. Ich habe diesen Code benutzt:

AudioManager AudiMngr = (AudioManager) getSystemService(AUDIO_SERVICE);
AudiMngr.setRingerMode(AudioManager.RINGER_MODE_SILENT);

AudiMngr.setStreamVolume(AudioManager.STREAM_ALARM, 0, AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);

Toast toast = Toast.makeText(getApplicationContext(), "Sound Muted", Toast.LENGTH_SHORT);
toast.show();

Aber es funktioniert nur zum Zeitpunkt des Beginns der Anwendung. Wenn der Alarm die Alarmzeit erreicht, wird er aktiviert. Ich möchte den Alarm stummschalten, bis die Anwendung geschlossen wird. Wie kann ich das machen?


5
2018-05-26 10:49


Ursprung


Antworten:


Um einen Alarm zu deaktivieren

AlarmManager aManager = (AlarmManager) getSystemService(ALARM_SERVICE);         
Intent intent = new Intent(getBaseContext(), YourAlarmSetClass.class);      
PendingIntent pIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);         
aManager.cancel(pIntent);

2
2018-05-26 11:04



Rufen Sie Methode (...) vom AlarmManager ab und verwenden Sie den gleichen PendingIntent, mit dem Sie den Alarm eingestellt haben. Beispiel:

mAlarmPendingIntent = PendingIntent.getActivity(this, requestCode, intent, flags);

this.getAlarmManager().cancel(mAlarmPendingIntent);

Dies bezieht sich auf die Aktivität oder den Service, von dem Sie den Alarm abbrechen


1
2018-05-26 10:54