2013-02-12 66 views
0

我的應用程序中有一個巨大的錯誤。完成應用程序後,音量被靜音並被鎖定。我殺死後Android媒體音量被鎖定

即使我退出並重新啓動應用程序,音量仍處於靜音狀態。恢復音量的唯一方法是重新啓動手機。請幫忙!該應用程序是一個2 webviewswebviewsvideo 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_PROCESS添加到清單。 然後殺死任務。

@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

嘗試增加您使用您的onPause相同的代碼到你的onDestroy方法,即使該應用程序崩潰,它應該有所幫助: 請注意,它不是必須致電,但在大多數情況下它確實是

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

是的,我試過了,我已經嘗試了近100種不同的變化。哈哈 – liyicky 2013-02-12 16:50:44