我的应用中存在一个巨大的错误。完成应用程序后,音量被静音并锁定。
即使我退出并重新启动应用程序,音量仍然会锁定为静音。恢复音量的唯一方法是重启手机。请帮忙!该应用为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 :(得分:0)
尝试将onPause上使用的相同代码添加到onDestroy方法中,即使应用程序崩溃,它也会有所帮助: 请注意,调用它并不适合,但在大多数情况下它会被
protected void onDestroy(){
super.onDestroy();
am = (AudioManager) getSystemService(AUDIO_SERVICE);
am.setStreamMute(AudioManager.STREAM_MUSIC, true);
}
答案 1 :(得分:0)
事实证明,有些事情导致任务无法被杀死。这是在窃听手机音量,应用程序在后台运行,消耗内存和电池。我通过自己杀死所有任务来解决它。
将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");
}