耳機線控的功能
耳機線控的實現
耳機線控實現方式主要有兩種,(注:可能出現無法獲取鍵值的問題,可能導致的原因是:1、驅動不支援;2、按鍵對映不正確)。
一種是前台的,前台的,在activity 裡處理,只有該activity 在前台時才會處理按鍵。
重寫onkeyup()、onkeydown(),它們分別處理放開事件和按下事件;
**如下:
另一種是註冊監聽,監聽intent.action_media_button,後台處理按鍵事件,有優先順序,有可能被攔截,接收不到按鍵事件。@override
public boolean onkeyup(int keycode, keyevent event)
return false;//為true,則其它後台按鍵處理再也無法處理到該按鍵,為false,則其它後台按鍵處理可以繼續處理該按鍵事件。
}@override
public boolean onkeydown(int keycode, keyevent event)
return false;//為true,則其它後台按鍵處理再也無法處理到該按鍵,為false,則其它後台按鍵處理可以繼續處理該按鍵事件。
}@override
public boolean onkeylongpress(int keycode, keyevent event)
return false;
}
實現方式如下:
1、註冊監聽intent.action_media_button,**如下:
intentfilter mediafilter = new intentfilter();
//攔截按鍵keyevent.keycode_media_next、keyevent.keycode_media_previous、keyevent.keycode_media_play_pause
mediafilter.addaction(intent.action_media_button);
mediafilter.setpriority(100);//設定優先順序,優先順序太低可能被攔截,收不到資訊。一般預設優先順序為0,通話優先順序為1,該優先順序的值域是-1000到1000。
registerreceiver(mediabuttonreceiver, mediafilter);
2、處理廣播資訊。
3、在handler中處理按鍵事件。private broadcastreceiver mediabuttonreceiver = new broadcastreceiver()
};
private handler handler = new handler()else
break;
case keyevent.keycode_media_previous:
if(islongpress)else
break;
}break;
default://其他訊息-則扔回上層處理
super.handlemessage(msg);}}
};//注:這種方法處理長按之前一定會先執行短按。
android 耳機線控的實現方法
keycode onkeydown keyevent 耳機線控的功能 耳機線控的實現 耳機線控實現方式主要有兩種,注 可能出現無法獲取鍵值的問題,可能導致的原因是 1 驅動不支援 2 按鍵對映不正確 一種是前台的,前台的,在activity 裡處理,只有該activity 在前台時才會處理按鍵。重寫...
耳機線的接法
耳機是我們日常必備工具,尤其是在公共場所或是夜深人靜時!之前一直用的是入耳式的耳機,隔音效果好,聲音大,所以下狠心買了乙個用過最貴的耳機90 元。但是買回用了不到兩個星期就讓我給弄報廢了,而且入耳式的耳機戴久了耳朵塞的疼。所以我就 買了個8.6元包郵的山寨蘋果耳機,結果帶給了我很多驚喜,沒想到音質絲...
Android 重寫View來實現全新的控制項
xmlversion 1.0 encoding utf 8 resources declare styleable name myarcscalemap attr name myarcscalemap titletext format string attr name myarcscalemap t...