首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Android上以编程方式关闭警报

如何在Android上以编程方式关闭警报
EN

Stack Overflow用户
提问于 2014-05-26 18:49:54
回答 2查看 9.6K关注 0票数 5

我有一个Android应用程序。当应用程序运行时,应该将警报静音或禁用。关闭应用程序后,应重新启用告警。我使用了以下代码:

代码语言:javascript
运行
复制
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();

但它只在应用程序启动时起作用。当告警达到告警时间时,启用告警。我希望将警报静音,直到应用程序关闭。我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2014-05-26 19:04:01

要禁用警报,请执行以下操作

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2014-05-26 18:54:58

调用方法cancel(...)在AlarmManager中,使用您用于设置警报的同一个PendingIntent。示例:

代码语言:javascript
运行
复制
mAlarmPendingIntent = PendingIntent.getActivity(this, requestCode, intent, flags);

this.getAlarmManager().cancel(mAlarmPendingIntent);

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23868439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档