2015-11-05 52 views
0

當應用程序在後臺(暫停或停止)時,我想更改流的音量 - AudioManager.STREAM_VOICE_CALL當應用程序在後臺時啓用setVolumeControlStream()

我試過使用setVolumeControlStream(AudioManager.STREAM_VOICE_CALL)。當應用程序處於前景時,它可以很好地工作。但它切換回在後臺更改DEFAULT_STREAM_TYPE的音量。

大多數媒體播放器(使用STREAM_MUSIC)以及像WhatsApp這樣的VOIP應用似乎已經解決了這個問題。

通過他們的代碼,他們似乎沒有使用任何不同的東西。

我錯過了什麼嗎?

回答

0

您可以使用廣播接收器執行此類事件。就像你按音量增加鍵,然後廣播事件將生成事件,並與該事件,你可以執行您的操作。您只需要在清單文件中註冊一個廣播接收器,用於音量提升事件。一旦您在清單文件中註冊了該事件,您就可以使用音量調高您的任務。創建一個班級並使用廣播收件人進行擴展。並重寫onrecieve方法。在onrecieve方法中寫下你的操作。無論何時會產生音量提升事件,廣播接收者都將監聽事件並執行您的任務。 這樣你就可以完成你的任務。

相關問題