0

アプリに大きなバグがあります。アプリを終了すると、音量がミュートされ、ロックされます。

アプリを終了して再起動しても、音量はミュートのままです。音量を元に戻す唯一の方法は、電話機を再起動することです。助けてください!アプリは 2webviewsで、そのうちの 1 つは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();

}
**
4

2 に答える 2

0

onPauseで使用しているのと同じコードをonDestroyメソッドに追加してみてください。アプリがクラッシュした場合でも役立つはずです: 呼び出されることは保証されていませんが、ほとんどの場合はそうなります。

protected void onDestroy(){
      super.onDestroy();
       am = (AudioManager) getSystemService(AUDIO_SERVICE);
       am.setStreamMute(AudioManager.STREAM_MUSIC, true);
}
于 2013-02-12T16:47:13.000 に答える
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");

}
于 2013-02-20T00:14:02.537 に答える