Android給自定義按鍵添加廣播和通過廣播給當(dāng)前焦點輸入框賦值
一、給自定義按鍵添加廣播
修改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");
//添加自定義按鍵廣播----開始
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é)束
……
……
……
……
}
二、通過廣播給當(dāng)前焦點輸入框賦值
修改InputMethodService.java中的onCreate()方法
/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java


感謝閱讀,希望能幫助到大家,謝謝大家對本站的 支持!
- Android取消EditText自動獲取焦點默認行為
- Android 設(shè)置Edittext獲取焦點并彈出軟鍵盤
- Android取消EditText自動獲取默認焦點
- 360瀏覽器文本框獲得焦點后被android軟鍵盤遮罩該怎么辦
- Android開發(fā)之滑動圖片輪播標題焦點
- Android GridView中包含EditText的焦點重新獲取方法
- Android 實現(xiàn)不依賴焦點和選中的TextView跑馬燈
- Android videoview搶占焦點的處理方法
- Android基于TextView不獲取焦點實現(xiàn)跑馬燈效果
- Android OnFocuChangeListener焦點事件詳解
相關(guān)文章
Android 點擊ImageButton時有“按下”的效果的實現(xiàn)
這篇文章主要介紹了 Android 點擊ImageButton時有“按下”的效果的實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-03-03
Android自定義布局實現(xiàn)仿qq側(cè)滑部分代碼
這篇文章主要為大家詳細介紹了自定義布局實現(xiàn)仿qq側(cè)滑Android部分代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
Android實現(xiàn)監(jiān)聽電話呼叫狀態(tài)的方法
這篇文章主要介紹了Android實現(xiàn)監(jiān)聽電話呼叫狀態(tài)的方法,涉及Android權(quán)限控制及電話狀態(tài)監(jiān)聽的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10
Android EditText實現(xiàn)輸入金額類型詳解
EditText是Android中一個非常實用的控件,有很多InputType,可以來達到不同的輸入效果,下面這篇文章主要給大家介紹了關(guān)于Android EditText實現(xiàn)輸入金額類型的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09
在Android中如何使用DataBinding詳解(Kotlin)
這篇文章主要給大家介紹了關(guān)于在Android中如何使用DataBinding(Kotlin)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Android FTP服務(wù)器上傳文件攻略(代碼詳解)
這篇文章主要介紹了Android FTP服務(wù)器上傳文件攻略,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
Android實現(xiàn)CoverFlow效果控件的實例代碼
這篇文章主要介紹了Android實現(xiàn)CoverFlow效果控件的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05

