繁体   English   中英

如何在 Android 上以编程方式关闭闹钟

[英]How to turn off an alarm programmatically on Android

我有一个 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();

但它仅在应用程序启动时有效。 当闹钟达到闹钟时间时,它被启用。 我希望在应用程序关闭之前将闹钟静音。 我怎样才能做到这一点?

禁用闹钟

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);

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

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

this.getAlarmManager().cancel(mAlarmPendingIntent);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM