2011-03-02 87 views
3

我想知道是否有方法知道用戶是否更改了鈴聲音量或更改了手機上的任何設置?我試圖創建一個具有該功能的應用:檢測用戶是否更改了鈴聲音量或更改了他/她自己的設備上的任何設置?更改鈴聲音量和其他設置的Android監聽器?

回答

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()方法,如果需要progrmatically改變音量。 ..