Android給自定義按鍵添加廣播和通過(guò)廣播給當(dāng)前焦點(diǎn)輸入框賦值
一、給自定義按鍵添加廣播
修改PhoneWindowManager.java中的interceptKeyBeforeDispatching方法
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

@Override
public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) {
final boolean keyguardOn = keyguardOn();
final int keyCode = event.getKeyCode();
final int repeatCount = event.getRepeatCount();
final int metaState = event.getMetaState();
final int flags = event.getFlags();
final boolean down = event.getAction() == KeyEvent.ACTION_DOWN;
final boolean canceled = event.isCanceled();
final boolean longPress = (flags & KeyEvent.FLAG_LONG_PRESS) != 0;
final boolean virtualKey = event.getDeviceId() == KeyCharacterMap.VIRTUAL_KEYBOARD;
final String isCitKeyTest=SystemProperties.get("persist.sys.startCitKeyTest");
//添加自定義按鍵廣播----開(kāi)始
switch (keyCode)
{
case 135:
case 136:
case 137:
case 139:
{
if (repeatCount == 0) {
Intent myKeyIntent = new Intent();
if(down)
{
myKeyIntent.setAction("com.rscja.android.KEY_DOWN");
}
else
{
myKeyIntent.setAction("com.rscja.android.KEY_UP");
}
myKeyIntent.putExtra("keycode", keyCode);
mContext.sendBroadcastAsUser(myKeyIntent, UserHandle.ALL);
}
}
break;
}
//添加自定義按鍵廣播----結(jié)束
……
……
……
……
}
二、通過(guò)廣播給當(dāng)前焦點(diǎn)輸入框賦值
修改InputMethodService.java中的onCreate()方法
/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java


感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的 支持!
- Android取消EditText自動(dòng)獲取焦點(diǎn)默認(rèn)行為
- Android 設(shè)置Edittext獲取焦點(diǎn)并彈出軟鍵盤(pán)
- Android取消EditText自動(dòng)獲取默認(rèn)焦點(diǎn)
- 360瀏覽器文本框獲得焦點(diǎn)后被android軟鍵盤(pán)遮罩該怎么辦
- Android開(kāi)發(fā)之滑動(dòng)圖片輪播標(biāo)題焦點(diǎn)
- Android GridView中包含EditText的焦點(diǎn)重新獲取方法
- Android 實(shí)現(xiàn)不依賴(lài)焦點(diǎn)和選中的TextView跑馬燈
- Android videoview搶占焦點(diǎn)的處理方法
- Android基于TextView不獲取焦點(diǎn)實(shí)現(xiàn)跑馬燈效果
- Android OnFocuChangeListener焦點(diǎn)事件詳解
相關(guān)文章
Android內(nèi)核源碼 在Ubuntu上下載,編譯,安裝
本文主要介紹Android內(nèi)核源碼,想學(xué)習(xí)深入研究Android的朋友肯定要看看Android內(nèi)核知識(shí)的,這里對(duì)下載Android內(nèi)核源代碼的下載,安裝,編譯做了詳細(xì)的介紹,有興趣的小伙伴可以參考下2016-08-08
android開(kāi)發(fā)之方形圓角listview代碼分享
我寫(xiě)這篇文章受到了kiritor的專(zhuān)欄發(fā)表的博文Android UI控件之ListView實(shí)現(xiàn)圓角效果的啟發(fā)。2013-06-06
Android自定義相機(jī)Camera實(shí)現(xiàn)手動(dòng)對(duì)焦的方法示例
這篇文章主要介紹了Android自定義相機(jī)Camera實(shí)現(xiàn)手動(dòng)對(duì)焦的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Android?Navigation重建Fragment問(wèn)題分析及解決
這篇文章主要介紹了Android?Navigation重建Fragment問(wèn)題分析及解決,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Android?TextView冷門(mén)實(shí)用方法技巧
這篇文章主要為大家介紹了Android?TextView冷門(mén)實(shí)用方法技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
flutter ExpansionTile 層級(jí)菜單的實(shí)現(xiàn)
這篇文章主要介紹了flutter ExpansionTile 層級(jí)菜單的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Android中使用TextView實(shí)現(xiàn)文字跑馬燈效果
本文主要介紹了Android中使用TextView實(shí)現(xiàn)文字走馬燈效果的方法解析。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04
詳解Android中ListView實(shí)現(xiàn)圖文并列并且自定義分割線(xiàn)(完善仿微信APP)
本篇文章主要介紹了Android中ListView實(shí)現(xiàn)圖文并列并且自定義分割線(xiàn)(完善仿微信APP),具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12

