欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android4.0.x Home鍵事件攔截監(jiān)聽(tīng)的方法

 更新時(shí)間:2016年02月16日 10:23:35   作者:goleftgoright  
這篇文章主要介紹了Android4.0.x Home鍵事件攔截監(jiān)聽(tīng)的方法,對(duì)比分析了2.3.x的實(shí)現(xiàn)方法,分析了4.0.x實(shí)現(xiàn)Home鍵事件攔截監(jiān)聽(tīng)的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android4.0.x Home鍵事件攔截監(jiān)聽(tīng)的方法。分享給大家供大家參考,具體如下:

在2.3.x 的主要做法如下,具體實(shí)現(xiàn)網(wǎng)上有很多文章

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

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

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

可以有兩種處理方式

方法一、修改PhoneWindowManager.java

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

在應(yīng)用里接收到廣播后做相應(yīng)處理,一般是做手機(jī)項(xiàng)目才會(huì)去改源碼。

方法二、檢測(cè)log,根據(jù)log判斷是否有點(diǎn)擊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
  };
};

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論