java - 如何在配置文件处于振动模式时使手机振动或在配置文件处于静音模式时从不响铃并在响铃模式下响铃
问题描述
当我在 Android 中开发呼叫应用程序时,我已经通过以下方式实现了在来电时播放本机振铃:
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALL);
ringtone = RingtoneManager.getRingtone(getApplicationContext(), notification);
ringtone.play();
所以我想要的是实现原生的整体行为,就像我们接到电话或任何其他应用程序的电话一样。(因为我是这个网站和android开发的初学者,所以请指导我的错误并提前谢谢你)
解决方案
试试这个代码...
通过使用 Context.AUDIO_SERVICE 参数调用 getSystemService() 方法来创建 AudioManager 类的实例。一旦我们创建了 AudioManager 类的实例,我们可以使用 setRingerMode() 方法根据我们的设置设置设备的音量或振铃模式要求。代码:
AudioManager aManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
aManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
通过使用 AudioManager 类的 getRingerMode() 方法,我们可以轻松获取设备当前的铃声模式。
AudioManager aManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
int currentMode = aManager.getRingerMode();
if(currentMode == AudioManager.RINGER_MODE_NORMAL){
// Do your code
}
推荐阅读
- python - AttributeError:部分初始化的模块“juego”没有属性“VENTANA_VERTICAL”(很可能是由于循环导入)
- xml - 如何在 SoapUI 中通过 groovy 检查请求值
- jquery - 如何使用具有相同类的 jquery 添加动态选项?
- python - 操作返回值时函数返回无
- python - 如何对某些图像进行图像处理的问题 - 错误:AttributeError:类型对象'Image'没有属性'open
- r - 将长表单拆分为行,但将重复项合并为用“;”分隔的字符串?
- css - Vue-test-utils + CSS 模块:wrapper.classes() 返回空数组
- java - 如何避免片段叠加
- spring-boot - SpringBoot - 无法解析@RunWith - 找不到符号
- excel - excel图表上缺少一些但不是所有数据标签