之前有個客戶想做一些定制化的功能,包括Browser、Settings、SystemUI的修改,下面大緻說下客戶的需求及修改的地方
1、給出Browser的白名單請屏蔽除了白名單之外的網址,eg:白名單為baidu.com
通過Controller.java的loadUrlDataIn()方法中添加判斷URL的語句,可在輸入框中隻輸入指定的url才有效

2、單擊虛拟按鍵中的最近按鈕,彈出使用者需要的app,eg:filemanager
..\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\BaseStatusBar.java
添加:
3、屏蔽掉home鍵的功能
..\frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java
4、對app的包名進行隐藏,在應用程式中不顯示出來,eg:filemanager
..\packages\apps\Settings\src\com\android\settings\applications\ManageApplications.java
5、屏蔽掉下拉通知欄和狀态欄
..\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarView.java
6、SystemUi包含兩部分:StatusBar和NavigationBar ,NavigationBar,導航欄進行顯示和隐藏
這些按鍵其實是button,是android原生自帶的,我們可以通過config控制其開和關。對應的config項是:"config_showNavigationBar".
<bool name="config_showNavigationBar">true</bool>------------>true和false控制開關,不同的軟體版本,配置檔案修改不同,
下面以android4.2版本為例,源碼frameworks層有兩個config.xml檔案:
alps\frameworks\base\core\res\res\values\config.xml (1) 和
alps\mediatek\custom\project_name\resource_overlay\generic\frameworks\base\core\res\res\values\config.xml (2)
如果您的源碼下隻有檔案 (1), 那就修改config.xml中的<bool name="config_showNavigationBar">true</bool>
如果您的源碼下隻有檔案 (1)和(2), 那就修改(2) 中config.xml的<bool name="config_showNavigationBar">true</bool>就行了,
隐藏就設成false。