我想知道是否有办法知道用户是否更改了铃声音量或更改了手机上的任何设置?我正在尝试创建一个具有该功能的应用:检测用户是否更改了铃声音量或更改了他/她自己设备上的任何设置?
答案 0 :(得分:1)
我解决了类似的问题。我不得不限制应用程序中的最大音量,所以这就是我所做的(音频是AudioManager的实例):
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP){
if(audio != null){
int curVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC);
int maxVolume = Preferences.getDefaultMaxVolume(Main.this);
if(curVolume > maxVolume) audio.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, 0);
}
}
return super.onKeyDown(keyCode, event);
}
如果需要,你可以简单地使用setStreamVolume()方法以编程方式更改音量......