通过编程自动静音Android手机的音量?
我正在开发一个可以自动关闭Android手机声音的应用程序。如何检测音量并以编程方式将其关闭通过编程自动静音Android手机的音量?,android,audio,Android,Audio,我正在开发一个可以自动关闭Android手机声音的应用程序。如何检测音量并以编程方式将其关闭 if (hour == myTime.getHour() && minute == myTime.getMinute()) { if (Settings.getSetMyTime(this)) showNotificationAlarm(R.drawable.icon, "It's time to w
if (hour == myTime.getHour() && minute == myTime.getMinute()) {
if (Settings.getSetMyTime(this))
showNotificationAlarm(R.drawable.icon,
"It's time to work");
///so, i want to add the silet function here..help me, please?
}
提前感谢。注册
音频\u服务
,然后使用音频管理器
控制音量的上升/下降或设置情景模式
或者,如果您想收听音频焦点的更改,则让您的活动实现AudioManager.OnAudioFocusChangeListener
。重写未实现的方法。创建将处理更改类型的开关
比如:
或者,如果您想收听音频输出的变化,例如拔下耳机(切换到电话扬声器),请使用操作\u音频\u变得嘈杂
粘性广播
看这里
编辑:这就是解决方案。不需要处理AudioFocus,只需设置不同的振铃器配置文件或调整音量
if (hour == myTime.getHour() && minute == myTime.getMinute()) {
if (Settings.getSetMyTime(this))
showNotificationAlarm(R.drawable.icon,
"It's time to work");
AudioManager audiomanager =(AudioManager)YourActivityName.this.getSystemService(Context.AUDIO_SERVICE);
audiomanager.setRingerMode(AudioManager.RINGER_MODE_SILENT); //or adjust volume here instead setting silent profile for the ringer
}
注册
AUDIO\u服务
,然后使用AudioManager
控制音量的上升/下降或设置情景模式
或者,如果您想收听音频焦点的更改,则让您的活动实现AudioManager.OnAudioFocusChangeListener
。重写未实现的方法。创建将处理更改类型的开关
比如:
或者,如果您想收听音频输出的变化,例如拔下耳机(切换到电话扬声器),请使用操作\u音频\u变得嘈杂
粘性广播
看这里
编辑:这就是解决方案。不需要处理AudioFocus,只需设置不同的振铃器配置文件或调整音量
if (hour == myTime.getHour() && minute == myTime.getMinute()) {
if (Settings.getSetMyTime(this))
showNotificationAlarm(R.drawable.icon,
"It's time to work");
AudioManager audiomanager =(AudioManager)YourActivityName.this.getSystemService(Context.AUDIO_SERVICE);
audiomanager.setRingerMode(AudioManager.RINGER_MODE_SILENT); //or adjust volume here instead setting silent profile for the ringer
}
请看一下,特别是方法和步骤
编辑
您也可以使用随setRingerMode
服务
是上下文
的子项,因此您可以直接调用getSystemService
请参阅下面更新的代码(未测试):
请看一下,特别是方法和步骤
编辑
您也可以使用随setRingerMode
服务
是上下文
的子项,因此您可以直接调用getSystemService
请参阅下面更新的代码(未测试):
有可能赶上时间吗?所以…如果时间是3点,它会使音量静音。。。请帮助我:)为此,您必须创建一个警报。看看AlarmManager,特别是方法SetRepeating我发出了警报,先生,但它只是在通知栏上显示通知。因此,我想再次开发它。使用这个新函数。您必须检索有效的上下文。如果上述代码来自
活动
。您可以直接调用getSystemService(),或者从视图v
,v.getContext().getSystemService(…)
我已经更新了以前的编辑。如果它不起作用,我们可以把它移到聊天室。有可能让它和时间同步吗?所以…如果时间是3点,它会使音量静音。。。请帮助我:)为此,您必须创建一个警报。看看AlarmManager,特别是方法SetRepeating我发出了警报,先生,但它只是在通知栏上显示通知。因此,我想再次开发它。使用这个新函数。您必须检索有效的上下文。如果上述代码来自活动
。您可以直接调用getSystemService(),或者从视图v
,v.getContext().getSystemService(…)
我已经更新了以前的编辑。如果它不起作用,我们可以把它移到chathi先生,我已经为警报编写了代码来显示通知“该工作了”,所以我想用新功能来再次开发它,可以自动关闭音量。你能帮我吗。。因此,当时间显示为12点时..不仅显示通知,而且还关闭音量。然后使用AudiManager方法setRingerMode(AudioManager.RINGER\u MODE\u SILENT)
查看上面链接中的配置文件常量和说明,如果关闭音量意味着更改RINGER配置文件。如果这不是您的意思,请使用adjustVolume()
method如何将AudioManager与我的代码一起使用,先生?(请看上面,先生,我已经编辑了我的问题):)谢谢,先生。。但是,我的工作不是一项活动,先生:(你能帮我吗?然后只传递服务的上下文:Dhi先生,我已经为警报编写了代码,以显示通知“该工作了”,所以我想用新功能再次开发它,它可以自动关闭音量。你能帮我吗。所以,当时间显示为12点时。不仅显示通知,还可以关闭音量。然后使用AudiManager方法setRingerMode(AudioManager.RINGER\u MODE\u SILENT)
如果关闭音量意味着更改振铃器配置文件,请参见上面链接中的配置文件常量和说明。如果不是这个意思,请使用adjustVolume()
method如何将AudioManager与我的代码一起使用,先生?(请参见上面,先生,我已编辑了我的问题):)谢谢,先生。。但是,我从事的是服务而不是活动,先生:(你能帮我吗?然后只传递服务的上下文:D
if (hour == myTime.getHour() && minute == myTime.getMinute()) {
if (Settings.getSetMyTime(this))
showNotificationAlarm(R.drawable.icon,"It's time to work");
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}