我已經構建了一個小應用程序,使用類AudioManager
將音樂流靜音/取消靜音。實際上,它在我關閉應用程序之前一直有效。即我已經靜音了,我關閉了應用程序,重新啓動了應用程序,並且按鈕不再取消靜音。我在網上搜索過,但似乎沒有人遇到過這個問題。Android中的屏蔽流
這裏是我的代碼:
public class ControlloVolume extends Activity {
ToggleButton tb_mute;
Button btn_mute;
AudioManager mAudioManager;
boolean mute;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_controllo_volume);
tb_mute = (ToggleButton) findViewById(R.id.tb_mute);
btn_mute = (Button) findViewById(R.id.btn_mute);
mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if(mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC)==0){
mute = true;
tb_mute.setChecked(mute);
}else{
mute = false;
tb_mute.setChecked(mute);
}
}
public void onButtonClicked(View view){
if(!mute){
mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, true);
tb_mute.setChecked(true);
mute = true;
}else{
mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, false);
tb_mute.setChecked(false);
mute = false;
}
}
當你說「關閉」時,你的意思是說你的應用程序被銷燬或放在後臺?當您重新啓動應用程序時,getStreamVolume是否返回0? – Michael