1. 程式人生 > >android關閉手機實體按鍵開啟虛擬按鍵

android關閉手機實體按鍵開啟虛擬按鍵

注意實體按鍵和虛擬按鍵的區別

使用的是android4.2版本,硬體:mt6589

以下操作都需要root許可權!!

關閉實體按鍵的功能(選單,返回,home,最近):

使用root檔案管理器,如RE檔案管理器

在/system/usr/keylayout/Generic.kl檔案中搜索menu,注意搜尋結果應該是隻有menu這一個單詞,而不是包含menu的單詞

搜尋到後在這一行的開頭,新增上一個英文的符號:‘#'

也就是把這一行註釋掉的意思!

返回鍵:back

同理、同上

我的手機選單,home,返回鍵所對應的鍵值為(僅供參考):

139    MENU
158    BACK
172    HOME

修改之後儲存重啟手機、被你註釋掉的對應的實體功能鍵就失效了,點選沒有任何反應

如果不成功可以嘗試註釋掉其他的行

只關掉功能、但背光燈還是會亮的

下面關掉背光燈:

還是RE檔案管理器

在/sys/class/leds/button-backlight/brightness檔案中、把其中的數字改為0、背光燈就不亮了

如果沒有對應的路徑、可以嘗試在類似的其他路徑中搜索

這種方法在關機重啟之後會失效、也就是說在手機重啟之後背光燈就又亮了(上面關閉功能的方法是永久生效的)

如果不想每次重新開機後都來這個路徑下修改檔案、可以手動寫一個shell指令碼、將下面的程式碼複製儲存為brightnessOFF.sh

#!/system/bin/sh
echo 0>/sys/class/leds/button-backlight/brightness
chown root:root /sys/class/leds/button-backlight/brightness
chmod 777 /sys/class/leds/button-backlight/brightness

用RE檔案管理器點選這個brightnessOFF.sh、彈出提示框、點選執行即可、立即生效

如果嫌這樣還麻煩、那就需要點專業知識了

需要把上面的程式碼追加到安卓系統開機時自動執行的指令碼檔案中、如:/etc/install-recovery.sh或/etc/inti.goldfish.sh

或者自己修改核心以支援init.d、然後把這個指令碼檔案放在/etc/init.d目錄中(注意可執行許可權)、也可以實現開機自動執行

接著來開啟虛擬按鍵:

RE檔案管理器

/system/build.prop檔案

先在檔案中搜索:

qemu.hw.mainkeys

如果已存在,將其修改為:qemu.hw.mainkeys=0

如果不存在,則手動新增:“qemu.hw.mainkeys=0”這一句、新增位置隨意

注意行首不能有’#‘符號!這個註釋掉這一行的意思!註釋掉的意思也就是讓系統忽略這一句、不去執行

相關推薦

android關閉手機實體按鍵開啟虛擬按鍵

注意實體按鍵和虛擬按鍵的區別 使用的是android4.2版本,硬體:mt6589 以下操作都需要root許可權!! 關閉實體按鍵的功能(選單,返回,home,最近): 使用root檔案管理器,如RE檔案管理器 在/system/usr/keylayout/Generic

UWP 判斷windows mobile是使用的實體鍵還是虛擬按鍵

pan win 一個 png 一點 res ati html dsp 原文:UWP 判斷windows mobile是使用的實體鍵還是虛擬按鍵最近在寫啟動屏幕,發現虛擬按鈕會擋住,啟動屏幕的最下面的元素,大概有50 px。可是有什麽辦法知道手機是用的實體鍵還是虛擬按鍵嗎?

Android 讓頂部狀態列透明,虛擬按鍵欄不透明的方法

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 隱藏標題欄 getW

android全屏問題(隱藏虛擬按鍵

android4.0沒有真正的全屏顯示,控制面板隱藏不了,唯一能做的,就是將控制鍵改成三個小圓點。 具體的做大是在add layout之後,然後呼叫如下的程式碼: enterLightsOutMode(getWindow()); public static void en

Android開發手機選單(menu)按鍵的自定義

預設按下選單鍵顯示只有一個item,就是settings 1.新增item 開啟res\menu\main.xml <menu xmlns:android="http://schemas.and

[Android]關閉所有Activity 然後開啟某個Activity

private volatile long lastJump = 0; public void loginAgain(String message){ if(System.currentTimeMillis() - lastJump > 2000) {

Android適配華為手機虛擬按鍵顯示或隱藏

華為的一些手機的螢幕上的虛擬按鍵是可以顯示或者隱藏的,因此在佈局適配的時候就要考慮到這個問題,要不然當虛擬按鍵被隱藏後介面的佈局就會出現問題,下面給出一種解決方法,(原文來自:安卓適配碰到的一些問題) 因為虛擬按鍵的開啟會涉及到view的重繪,因此可以重寫根l

android 筆記:判斷手機是否顯示虛擬按鍵

華為親測有效 public boolean isNavigationBarShow(){ if (Build.VERSION.SDK_INT >= Build.VERSION_

Android 隱藏手機底部虛擬按鍵

現在的手機比較流行底部帶虛擬按鍵,比如華為、nexus,一般情況下對開發一個APP沒啥影響,但是不一般情況下就會有影響的,比如全屏錄影功能, 用簡單的方法直接獲取camera支援的手機螢幕解析度然後用

Android手機去掉底部虛擬按鍵欄方法

需要root手機,在手機檔案系統system資料夾中的build.prop檔案最後加一句程式碼qemu.hw.mainkeys=1(qemu:虛擬作業系統模擬器;hw:硬體;mainkeys:主要按鍵)

Android】判斷當前手機是否有虛擬按鍵

記錄一個使用反射的方式獲取當前手機是否存在虛擬按鍵(NavigationBar)的方法 //獲取是否存在NavigationBar public static boolean checkDe

一條程式碼!關閉開啟系統自帶虛擬按鍵

轉自:http://bbs.dospy.com/viewthread.php?tid=17038808&page=1&bbsid=354 本方法收集自網路!準備一,手機root二,手機安裝RE檔案管理過程一,用RE找到system/build.prop二,長

android 虛擬按鍵是通過哪種機制上報的?

啟動 clas custom key 利用 依據 per 按鍵事件 post 1.在normal mode下,tp button也是和其他觸摸事件一樣,以坐標形式的input_event進行上報。在初始化時會通過tpd_button_setting()函數依據定義在t

adb.【轉】Android手機可以通過adb執行按鍵操作

1、Android手機可以通過adb執行按鍵操作 - sealee01 - CSDN部落格.html(https://blog.csdn.net/u013678906/article/details/78540585) 2、 Android手機可以通過adb執行按鍵操作 如下,執行的是home鍵的操作

android監聽虛擬按鍵的顯示與隱藏

虛擬按鍵在華為手機中大量存在,而虛擬按鍵的存在無疑增加了螢幕適配的難度,往往許多時候我們的介面需要根據虛擬按鍵的顯示與否(虛擬按鍵的顯示隱藏是使用者可以動態調整的)來調整介面的ui顯示,但android系統本身(似乎)並沒有提供此類介面(PS:反正我沒找到類似介面),經過研究得到一個可用的方式。 a

如何解決Android虛擬按鍵_類似華為的虛擬

   我們在開發Android 的時候,尤其是適配,是真心覺得Android 頭大,①各種狀態列,②小米的懸浮框許可權會導致系統級別的WindowManager載入的view 不顯示,尤其是Mi 5,Mi 6,③華為的虛擬按鍵,④魅族手機使用Videovie控制元件,會在魅族

android 監聽虛擬按鍵的顯示與隱藏

在開發過程中 由於很多機型有有虛擬按鍵 需要我們做一些處理 有時候可能我們做了沉浸式處理 然後在應用在執行的時候 使用者突然隱藏掉虛擬按鍵 導致應用下面一條空白的或者是黑色的 導致使用者體驗不好 這裡就需要我們監聽虛擬按鍵的狀態 來改變佈局 首先 需要監

Android P 攔截虛擬按鍵事件

    最近有一個奇怪的需求,當儲存空間不足時,需要一個提醒框.此提醒框出現時只能點選提供的button才能跳轉到釋放檔案空間的地方.觸發其他地方要求無響應(包括虛擬按鍵).      此做法有兩種,一種是使用懸浮框. 一種是對話方塊.不管是那種做法,都需要遮蔽虛擬按鍵的響應

Android 虛擬按鍵 暫時救急

//設定虛擬按鍵存在時 當前佈局 提高 int virtualBarHeigh1 = XunijianUtils.getVirtualBarHeigh(mContext); if (virtualBarHeigh1 > 0) { Fra

Android 解決介面底部彈出dialog被虛擬按鍵遮擋一部分的問題

mDialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); mDialog.getWindow().getDecorView().setOnSystemUiVisibilityCh