をミュート解除ことはありません、それは言われている。setStreamMuteがドキュメントで
ミュートコマンドは、クライアント・プロセスの死に対して保護されています:ストリーム上のアクティブなミュート要求にプロセスが死んだ場合、このストリームは、自動的にミュートになります。
特定のストリームのミュート要求は累積的です。AudioManagerは1つまたは複数のクライアントから複数のミュート要求を受信でき、同じ数のミュート解除要求が受信された場合にのみストリームがミュートされます。
まあ、最初の段落は真です。プロセスが終了するたびに、ミュートされたすべてのストリームは自動的にミュートされません。 しかし、何度も私がsetStreamMute(someStream, false)
と呼んでも、それは決して切れません。 前回は、1回だけミュートした後に100万回以上呼び出してみましたが、何も起こりません!
ちょうど言及すると - 同じ方法でミュートを解除すると、ミュートされます - ミュートされません。しかし、同じメソッドへの次の呼び出しで - 決して解除されません。
ブロードキャスト受信機onReceiveメソッドでミュートしていますが、アラームマネージャを使用しています。私のアプリがミュート中のコールとミュート解除されているコールの間に殺されたからでしょうか? (しかし、私のアプリはまだRAM内に留まる)
私は(異なるインスタンスを毎回取得する?)AlarmManagerへの参照を保持しておりませんので
誰もがこの問題に遭遇しました。この問題はできますか?
私はアンドロイド4.0のバージョンと同じ問題をここで使用している、見てみるhttp://stackoverflow.com/questions/14899395/how-to-mute-and-unmute-it-on-the-onpause- and-onresume –
「AudioManager」の同じインスタンスへの参照を保持すること(好ましくは、アクティビティクラスのメンバとして) – Jong