国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android4.0.x Home鍵事件攔截監聽的方法

2020-04-11 10:48:56
字體:
來源:轉載
供稿:網友

本文實例講述了Android4.0.x Home鍵事件攔截監聽的方法。分享給大家供大家參考,具體如下:

在2.3.x 的主要做法如下,具體實現網上有很多文章

@Overridepublic void onAttachedToWindow() {  this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);  super.onAttachedToWindow();}

代碼移植到4.0.1后 this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 這行報錯,

錯誤提示:java.lang.IllegalArgumentException: Window type can not be changed after the window is added。

可以有兩種處理方式

方法一、修改PhoneWindowManager.java

if (keyCode == KeyEvent.KEYCODE_HOME) {  //在這里發送一個廣播出去}

在應用里接收到廣播后做相應處理,一般是做手機項目才會去改源碼。

方法二、檢測log,根據log判斷是否有點擊Home鍵

private boolean isTesting = true;class CatchLogThread extends Thread {  @Override  public void run() {    Process mLogcatProc = null;    BufferedReader reader = null;    String line;    while (isTesting) {      try {        // 獲取logcat日志信息        mLogcatProc = Runtime.getRuntime().exec(new String[] { "logcat", "ActivityManager:I *:S" });        reader = new BufferedReader(new InputStreamReader(mLogcatProc.getInputStream()));        while ((line = reader.readLine()) != null) {          if (line.indexOf("android.intent.category.HOME") > 0) {            isTesting = false;            handler.sendMessage(handler.obtainMessage());            Runtime.getRuntime().exec("logcat -c");//刪除日志            break;          }        }      } catch (Exception e) {        e.printStackTrace();      }    }  }};Handler handler = new Handler() {  public void handleMessage(android.os.Message msg) {    Log.i(TAG,"Home key press");    //do something here  };};

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 任丘市| 全州县| 寿光市| 云林县| 禹城市| 巴青县| 徐汇区| 孙吴县| 秦皇岛市| 东丰县| 班戈县| 扎赉特旗| 游戏| 湖北省| 绥中县| 大埔县| 寻甸| 靖江市| 广灵县| 阿拉善盟| 黎川县| 衡阳县| 铁力市| 宝丰县| 太和县| 新丰县| 十堰市| 鹤壁市| 肃宁县| 万州区| 沛县| 亚东县| 全椒县| 隆尧县| 桑植县| 德格县| 惠水县| 叙永县| 涟源市| 通许县| 云梦县|