android 监听情景模式,Android手机设置情景模式的实现

这篇博客介绍了如何在Android应用中通过代码设置不同情景模式,包括正常模式、静音模式、振动模式以及无声无振动模式。通过AudioManager类的方法setRingerMode和setVibrateSetting,可以实现系统的音量、振动状态的调整。此外,还提供了调整音量的函数,以实现自定义声音大小。这对于Android开发者来说是很有用的知识。
摘要由CSDN通过智能技术生成

几乎所有的手机都有情景模式的设置,这个不多说,大伙也相当的熟悉了。

要是只问操作,百度一下也可,不过这里说的是通过代码来设置情景模式!

其实呢:Android手机情景模式种类有好几种,有系统自带的,也有自定义的。

然而但是在程序开发时,切换情景模式是少不了的,那代码怎么操作?

带着这些疑问,我们来看以下的代码解答。

首先:获取当前的情景模式:

81178cc93a2a3bb5048d90d76e7ec935.png

voidgetInitring(AudioManager audio)

{//取得手机的初始音量,并初始化进度条intvolume=audio.getStreamVolume(AudioManager.STREAM_RING);//取得初始音量//取得初始模式,并分别设置图标intmode=audio.getRingerMode();//取得初始模式}

通过此代码,当然需要再加工一下,那么就可以得到当前的情景模式,为以后的设置做一下准备,然后也可能知道要不要再次设置。

voidring(AudioManager audio) {

audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,

AudioManager.VIBRATE_SETTING_OFF);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,

AudioManager.VIBRATE_SETTING_OFF);

Toast.makeText(this,"设置成功!当前为铃声", Toast.LENGTH_LONG).show();

}

设置后系统只有声音,没有振动。

设置android情景模式二:即有声音也有振动:

voidringAndVibrate(AudioManager audio) {

audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,

AudioManager.VIBRATE_SETTING_ON);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,

AudioManager.VIBRATE_SETTING_ON);

Toast.makeText(this,"设置成功!当前为铃声加振动", Toast.LENGTH_LONG).show();

}

这样设置后,在发声的时候同时也会有振动提醒。

voidvibrate(AudioManager audio) {

audio.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,

AudioManager.VIBRATE_SETTING_ON);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,

AudioManager.VIBRATE_SETTING_ON);

Toast.makeText(this,"设置成功!当前为振动", Toast.LENGTH_LONG).show();

}

此设置后只有振动,没有声音:

设置情景模式四:无声无振动:

voidnoRingAndVibrate(AudioManager audio) {

audio.setRingerMode(AudioManager.RINGER_MODE_SILENT);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,

AudioManager.VIBRATE_SETTING_OFF);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,

AudioManager.VIBRATE_SETTING_OFF);

Toast.makeText(this,"设置成功!当前为无声无振动", Toast.LENGTH_LONG).show();

}

设置后系统没有声音和振动。无法进行相应的提示。

以上所有设置的声音均为系统默认的声音大小,那么我们是否可以自定义声音的大小呢,答案是当然可以。要设置声音的大小 ,需要设置以下函数:

提高音量:

audio.adjustVolume(AudioManager.ADJUST_RAISE,0);

减小音量:

audio.adjustVolume(AudioManager.ADJUST_LOWER,0);

以上的代码都比较简单,不过多的注释和解释了,操作也比较简单,一些比较复杂的操作,都是由这些基本简单的单位构成,也不多举例子。希望本篇对各们Android手机开发者所有帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值