藍牙耳機 事件監聽 android.intent.action.MEDIA_BUTTON(一)

參考Link:android

http://blog.csdn.net/kangear/article/details/40430673app

http://stackoverflow.com/questions/7573493/keyevent-keycode-media-next-not-received-unless-audio-is-playingless

 


Android應用層能獲取藍牙耳機事件的辦法:測試

1.若是手機當前顯示的是app界面,能夠經過activity keyevent獲取鍵值。spa

2.非當前app界面(別的應用在前面好比:鎖屏)均只能經過系統廣播:android.intent.action.MEDIA_BUTTON.net

3.經過手機系統的音量變化監聽。code

 

測試狀況:orm

1.音樂播放軟件(QQ音樂,酷狗)在音樂沒有播放的狀況下,鎖屏後,用藍牙沒法控制音樂的狀態,也就是 快進,快退。QQ音樂在音樂暫停以後,直接沒法快進,快退;酷狗,則是在延後一段時間(基本1-3分鐘),沒法響應藍牙操做。初步懷疑是酷狗在暫停後播放了空白,維持了一段時間,但不可能長久保持(你們都知道長久其實會耗電)時間以後就完全不響應了。blog

(固然這未必能說明就按鍵沒有接收到,或許是音樂業務這塊不須要呢)事件

 

2.某些手機在鎖屏狀態下,能夠喚醒手機的語音助手功能,但並不是全部的手機100%必定會響應。 用了紅米手機測試了下當前的藍牙耳機,不是100%會觸發,只是偶爾會有。

我調用了命令su -c getevent 去更底層獲取鍵值,在有音樂播放的狀態下,會有值出來,但在沒有音樂播放的狀態下,雙擊快退只是偶爾會有鍵值顯示,出現語音助手,並不是雙擊快退必定會出。而雙擊快進,任何鍵值都沒有顯現。

 

3.原本想經過音量監控按鍵狀況,但在某些耳機,單按音量加或減,只是改變耳機自身的聲音,並無向android系統報告須要增大或者減少音量的。android應用層這裏沒法獲得這個變化。

 

結論:

手機應用可否獲取藍牙耳機按鍵,跟系統和藍牙耳機硬件有關係的。

以上只是推測,精彩在下一頁

相關文章
相關標籤/搜索