2010-11-15 71 views
0

我正在爲Droid Incredible開發Android應用程序。當我插入耳機時,狀態欄上會出現一個圖標,因此我認爲手機必須知道耳機是否存在。Droid Incredible Headphones Detection

我的代碼會響應各種用戶輸入而產生嘟嘟聲,但是我今天發現用戶戴着耳機時這真是一個糟糕的主意。噢。

有沒有人有建議如何我可以檢測耳機的存在編程方式,在Android?

感謝, R.

回答

3

我發現AudioManager類開發人員網站上,它看起來對此有一個有用的方法,但我沒有測試它:

AudioManager am = getSystemService(Context.AUDIO_SERVICE); 
bool headsetEnabled = am.isWiredHeadsetOn(); 
+0

這看起來像一個很酷的,簡單相加的代碼。謝謝,我明天會在我的腦袋長大後再測試它!如果我想實時捕捉耳機連接活動,我想我仍然需要製作廣播接收器(Eek!),但這似乎是一個完美的「80%解決方案」。 – Rich 2010-11-15 22:49:54

+0

是的,如果你需要它作爲一個實時設置,這可能不是最適合你的。在構建廣播接收器之前(我還沒有弄清楚其中的一個),你可以將AudioManager聲明爲一個類變量,並且只需在前面加上'if(!am.isWiredHeadsetOn()){/ *嗶* /}'。 – kcoppock 2010-11-15 23:32:16

+0

奇怪的是,K,(我不是在怪你)isWiredHeadsetOn()似乎根本不起作用。我的代碼在啓動時沒有設置音量級別。但是,我可能會混合蘋果和橘子(或音頻管理器和MediaPlayers,確切而言)。 – Rich 2010-11-16 14:05:08