2012-02-16 52 views
0

我剛剛開始使用Android編程,並且一直關注着'傻瓜式Android應用程序開發'一書,並且已經到了一個讓我擁有'工作'寂靜模式切換應用程序,但我注意到一個'錯誤'或什麼:Android應用程序開發傻瓜式無聲模式切換應用程序行爲不正常

當我用我的虛擬設備上的音量按鈕(或實際的手機,如果我安裝它)調整音量並打開靜音模式切換程序不一定會顯示手機無聲/振鈴狀態的正確狀態。它總是顯示正常(綠色圖像)。因此,如果我使用按鈕上的音量按鈕將其設置爲靜音並打開應用程序,即使手機實際上已經靜音,它仍然會顯示「正常」的綠色圖像。 但是,如果我使用APP將其設置爲靜音模式,請離開該應用程序並返回,它會正確顯示紅色圖像。我嘗試複製downloaded MainActivity.java file中的代碼,看看我是否在某處存在拼寫錯誤,但它仍然表現出相同的行爲。

本書中的示例應用程序是使用Android 2.2編寫的,但是我正在2.3.3(我的虛擬設備和實際電話)上開發 2.2和2.3.3中是否存在導致此問題的某些差異,或者還有其他問題?

感謝, 傑米

回答

0

確定後一些進一步研究,我決定試一下。

在上述基準的java文件的第57行:

if (ringerMode == AudioManager.RINGER_MODE_SILENT) { 

我改成了閱讀:

if (ringerMode == AudioManager.RINGER_MODE_SILENT || ringerMode == AudioManager.RINGER_MODE_VIBRATE) { 

現在看來正常工作!

所以也許這是必要的,因爲正如我所提到的,我使用的是2.3.3,而不是本書中使用的2.2。希望我插入這條線不會導致任何問題,因爲我走得更遠。而且我實際上並沒有在我的實際電話上進行測試,以瞭解來電,短信,電子郵件,鬧鐘等是如何受到影響,只要保持沉默狀態。