2013-02-12 4 views
0

내 앱에 거대한 버그가 있습니다. 앱을 마친 후에는 볼륨이 음소거되고 잠겨 있습니다.살인 후 Android 미디어 볼륨이 잠 깁니다.

앱을 종료했다가 다시 시작하더라도 볼륨은 여전히 ​​음소거 상태에서 잠겨 있습니다. 볼륨을 복원하는 유일한 방법은 전화를 다시 시작하는 것입니다. 도와주세요! 앱은 2 webviews이고 webviews 중 하나는 video stream입니다.

02-12 11:45:12.939: V/AudioHardwareMSM76XXA(115): AudioHardware::getParameters() 
Fm-radio= 

02-12 11:37:29.639: D/LKW(198): mShowing= false mNeedToReshowWhenReenabled= false 
mUpdateMonitor.isDeviceProvisioned()= true 

내 오디오 관리자 방법 :

로그는이 때마다 내가 볼륨 버튼을 눌러 말한다

@Override 
protected void onPause() { 
    super.onPause(); 
    am = (AudioManager) getSystemService(AUDIO_SERVICE); 
    am.setStreamMute(AudioManager.STREAM_MUSIC, true); 
    lock.release(); 
} 

@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    super.onResume(); 
    am = (AudioManager) getSystemService(AUDIO_SERVICE); 
    am.setStreamMute(AudioManager.STREAM_MUSIC, false); 
    lock.acquire(); 

} 
** 

답변

0

무언가가 작업을 중단시키지 못하고 있음이 밝혀졌습니다. 휴대 전화 볼륨과 앱이 백그라운드에서 실행 중이었고 RAM과 배터리를 소모하고있었습니다. 나는 모든 일을 스스로 죽임으로써 그것을 해결했다.

매니페스트에 KILL_BACKGROUND_PROCESSES를 추가하십시오. 그런 다음 작업을 종료하십시오.

@Override 
protected void onDestroy() { 
    // TODO Auto-generated method stub 
    super.onDestroy(); 
    final ActivityManager amm = (ActivityManager)Class.this.getSystemService(Activity.ACTIVITY_SERVICE); 
    amm.restartPackage("com.liyicky.dbzhd"); 
    amm.killBackgroundProcesses("com.liyicky.dbzhd"); 

} 
0

보십시오 당신들의 OnDestroy 방법 당신이 당신의 onPause에 사용하는 동일한 코드를 추가 앱이 다운 된 경우에도 도움이됩니다. 전화가 걸리지는 않지만 대부분의 경우

protected void onDestroy(){ 
     super.onDestroy(); 
     am = (AudioManager) getSystemService(AUDIO_SERVICE); 
     am.setStreamMute(AudioManager.STREAM_MUSIC, true); 
} 
+0

그래, 그 시도는 거의 100 가지 변형을 시도했습니다. 하하 – liyicky