編輯:關於Android編程
2.2 禁用系統home鍵,這裡不說了。
最近項目有一個需求,禁用系統的所有鍵,像menu, home, back.同時還要是想點擊響應與view的彈出。就是UI這部分要正常。
back鍵我們自己onKeyDown 禁用的好開心。
個人認為最簡單的寫法請移步:
http://blog.csdn.net/yiding_he/article/details/38527813
這裡關鍵說下4.0後禁用系統home鍵。
網上找了很久,基本上都是不能用的。因為都是說由於系統安全原因,android系統把這個事件(home,menu)在框架層就給吸收掉了,而且根本沒有分發到應用層。
The Menu key can't be disabled for security reasons, this key is handled by the framework and is never delivered to applications.
http://stackoverflow.com/questions/15459407/disable-home-button-in-android-4-0
看吧,老外的stack overflow上都說沒辦法。
就當我接近失望時,隨便點進了一個搜索頁中的某大神的github,https://github.com/shaobin0604/Android-HomeKey-Locker,隨便下載試了下,竟然work了。
更重要的是這個大神是偶們中國人。太牛掰了。
膜拜,這裡就不細說大神是怎麼實現的了,秘訣是建立一個OverlayDialog, 給它設置了一些參數像FLAG_SHOW_WHEN_LOCKED,FLAG_NOT_TOUCH_MODAL等等。
有想研究的同學,請自行下載源碼學習。
這裡只說一下使用:
1.到https://github.com/shaobin0604/Android-HomeKey-Locker, 下載大神的代碼。
2.HomeLockLib中的HomeKeyLocker.java放到自己的Util包下。
3.HomeLockLib中的styles中的OverlayDialog相關部分拷貝到自己的styles中。
4.在你自己的AndroidManifest中加入
5.在想要鎖鍵的地方new HomeKeyLocker 對象。
private HomeKeyLocker mHomeKeyLocker; mHomeKeyLocker = new HomeKeyLocker();
之後需要鎖鍵使用:
mHomeKeyLocker.lock(mActivity.this);
解鎖使用:
mHomeKeyLocker.unlock();
6.在自己的destroy方法中加入:
@Override protected void onDestroy() { super.onDestroy(); mHomeKeyLocker.unlock(); mHomeKeyLocker = null; }
基於Android 6.0的源碼剖析, 分析Binder IPC通信的權限控制方法clearCallingIdentity和restoreCallingId
啟動模式:LaunchMode在多個Activity跳轉的過程中扮演著重要的角色,它可以決定是否生成新的Activity實例,是否重用已存在的Activity實例,是否和
SVG格式, 適應屏幕, 圖片較小, 還有很多優點, 參考. 本文講解如何使用SVG格式. SVG: Scalable Vector Graphics, 可縮放矢量圖形.
Android系統提供了5中語言的語音合成German,English,Spanish,French,Italian支持,其中不包括對中文的支持,但是Android系統允