如何在android中以编程方式关闭警报

Par*_*thi 5 android alarmmanager android-alarms

我有一个Android应用程序.当应用程序运行时,应该静音或禁用警报.关闭应用程序后,应再次启用警报.我用过这段代码:

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();
Run Code Online (Sandbox Code Playgroud)

但它仅在应用程序启动时有效.当警报满足警报时间时,它将启用.我希望在应用程序关闭之前将警报静音.我怎样才能做到这一点?

And*_* me 1

从 AlarmManager 调用方法 cancel(...),使用与设置闹钟相同的 PendingIntent。例子:

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

this.getAlarmManager().cancel(mAlarmPendingIntent);
Run Code Online (Sandbox Code Playgroud)

这是指您要从中取消警报的活动或服务。