2010-07-08 4 views
1

내 응용 프로그램의 메뉴에 음소거 버튼을 추가했으며 응용 프로그램을 다시 열 때 음소거 또는 음소거 해제 중 사용자의 최근 기본 설정을 저장할 수 있는지 궁금합니다.스토어 응용 프로그램 환경 설정 안드로이드

public void isMute() { 

     if(mIsMute){  
      mAm.setStreamMute(AudioManager.STREAM_MUSIC, false); 
      mIsMute = false; 

     }else{ 
      mAm.setStreamMute(AudioManager.STREAM_MUSIC, true); 
      mIsMute = true; 
     } 
    } 

답변

1

사용 SharedPreferences 상태를 저장하기 : 여기

내가 음소거 또는 umute을 설정하기 위해 사용하고있는 코드입니다. 응용 프로그램이 시작되면 현재 상태를 읽고 설정합니다.

는 내가이 작업을 수행하는 방법을 잘 모르겠어요 android documentation

public class Calc extends Activity { 
    public static final String PREFS_NAME = "MyPrefsFile"; 

    @Override 
    protected void onCreate(Bundle state){   
     super.onCreate(state); 
     . . . 

     // Restore preferences 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     mIsMute = settings.getBoolean("IsMute", false); 
     isMute(); 
    } 

    @Override 
    protected void onStop(){ 
     super.onStop(); 

     // We need an Editor object to make preference changes. 
     // All objects are from android.context.Context 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     SharedPreferences.Editor editor = settings.edit(); 
     editor.putBoolean("IsMute", mIsMute); 

     // Commit the edits! 
     editor.commit(); 
    } 
} 
+0

에서 약간의 변형 예. 음소거 또는 음소거를 설정하는 내 방법으로 원래 질문을 업데이트했습니다. SharePreferences에 결과를 저장하고 내 init()에 무엇이 있는지 호출해야합니까? – taraloca

+0

나는 나의 대답을 업데이트했다 –

+0

첫째, 도와 줘서 고마워. 일종의 말로하면, 내 앱을 시작할 때마다 음소거가 해제 된 상태에서 앱을 종료하더라도 음소거된다는 것을 의미합니다. putBoolean의 값을 쓸모 없게 바꾸려고했습니다. 어떤 아이디어? – taraloca

관련 문제