我已經註冊在清單中一個BroadcastReceiver爲機器人:名字=「android.intent.action.MEDIA_BUTTON」 ,我已經註冊與AudioManager接收器使用registerMediaButtonEventReceiver方法。現在我的接收函數定義如下。當媒體按鈕,向上和向下的事件記錄我不能接受我的所有ACTION_MEDIA_BUTTON廣播
public void onReceive(final Context context, Intent intent) {
Log.e(LOG_TAG, "Entering Receiver");
KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
int action = event.getAction();
if (action == KeyEvent.ACTION_DOWN) {
Log.e(LOG_TAG, "Down");
} else {
Log.e(LOG_TAG, "Up");
}
}
此代碼只是打印。如果我點擊的速度夠快,我無法註冊所有的事件。你對什麼是錯的有什麼想法嗎?我的LogCat輸出如下。只要注意,可以通過按住按鈕來重現此輸出,儘管我沒有這樣做。
04-24 01:47:38.136: E/MicReceiver(3769): Entering Receiver
04-24 01:47:38.136: E/MicReceiver(3769): Down
04-24 01:47:38.187: E/MicReceiver(3769): Entering Receiver
04-24 01:47:38.187: E/MicReceiver(3769): Down
04-24 01:47:38.257: E/MicReceiver(3769): Entering Receiver
04-24 01:47:38.257: E/MicReceiver(3769): Down
04-24 01:47:38.281: E/MicReceiver(3769): Entering Receiver
04-24 01:47:38.281: E/MicReceiver(3769): Down
04-24 01:47:38.390: E/MicReceiver(3769): Entering Receiver
04-24 01:47:38.390: E/MicReceiver(3769): Down
04-24 01:47:38.402: E/MicReceiver(3769): Entering Receiver
04-24 01:47:38.402: E/MicReceiver(3769): Up
嘿Devunwired。感謝您的回答。雖然我理解你說的話,我該怎麼辦比如區分人誰雙擊了他的麥克風按鈕,而不是別人誰持有它。 LogCat輸出將類似。現在我想到了,按住按鈕的人會產生更多的事件,這個人雙擊他的按鈕。我可以嘗試一下。儘管讓我知道你是否有其他想法。謝謝! – 2012-04-24 04:17:22