最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android監(jiān)聽Home鍵實例詳解

 更新時間:2016年02月16日 11:25:46   作者:lg878398509  
這篇文章主要介紹了Android監(jiān)聽Home鍵的方法,結合實例形式詳細分析了Android編程實現(xiàn)監(jiān)聽Home鍵的具體步驟與相關功能代碼,需要的朋友可以參考下

本文實例講述了Android監(jiān)聽Home鍵的方法。分享給大家供大家參考,具體如下:

將到android中Home鍵的監(jiān)聽,很多人第一反應時重寫相應Activity的onKeyDown()方法,監(jiān)聽當按下的鍵的keyCode為KEYCODE_HOME時,進行自己的相應的處理。如:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_HOME) {
    stopService(mIntentService);
    return true;
  }
  return super.onKeyDown(keyCode, event);
}

但是這樣的監(jiān)聽是不能監(jiān)聽到HOME鍵的。這樣的方法只能監(jiān)聽到BACK,MENU鍵。那么怎么監(jiān)聽Home鍵了?

1.新建一個監(jiān)聽Home鍵的Listener

public class HomeListener {
  static final String TAG = "HomeListener";
  private Context mContext;
  private IntentFilter mFilter;
  private OnHomePressedListener mListener;
  private InnerRecevier mRecevier;
  // 回調接口
  public interface OnHomePressedListener {
    public void onHomePressed();
    public void onHomeLongPressed();
  }
  public HomeListener(Context context) {
    mContext = context;
    mFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
  }
  /**
   * 設置監(jiān)聽
   *
   * @param listener
   */
  public void setOnHomePressedListener(OnHomePressedListener listener) {
    mListener = listener;
    mRecevier = new InnerRecevier();
  }
  /**
   * 開始監(jiān)聽,注冊廣播
   */
  public void startWatch() {
    if (mRecevier != null) {
      mContext.registerReceiver(mRecevier, mFilter);
    }
  }
  /**
   * 停止監(jiān)聽,注銷廣播
   */
  public void stopWatch() {
    if (mRecevier != null) {
      mContext.unregisterReceiver(mRecevier);
    }
  }
  class InnerRecevier extends BroadcastReceiver{
    final String SYSTEM_DIALOG_REASON_KEY = "reason";
    final String SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS = "globalactions";
    final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
    final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
    @Override
    public void onReceive(Context context, Intent intent) {
      String action = intent.getAction();
      if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
        String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
        if (reason != null) {
//          Log.e(TAG, "action:" + action + ",reason:" + reason);
          if (mListener != null) {
            if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) {
              // 短按home鍵
              mListener.onHomePressed();
            } else if (reason
                .equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {
              // 長按home鍵
              mListener.onHomeLongPressed();
            }
          }
        }
      }
    }
  }
}

2.在使用的類的onCreate方法中注冊Home鍵的監(jiān)聽

/**
* 注冊Home鍵的監(jiān)聽
*/
private void registerHomeListener() {
    mHomeWatcher = new HomeListener(this);
    mHomeWatcher.setOnHomePressedListener(new OnHomePressedListener() {
      @Override
      public void onHomePressed() {
        //TODO 進行點擊Home鍵的處理
        Log.i("xsl", "0000000000000");
        stopService(mIntentService);
      }
      @Override
      public void onHomeLongPressed() {
        //TODO 進行長按Home鍵的處理
        Log.i("xsl", "0000000000000");
      }
    });
    mHomeWatcher.startWatch();
}

3.在使用的類的onPause方法中停止監(jiān)聽

mHomeWatcher.stopWatch();

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

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

相關文章

  • Android Studio 報錯failed to create jvm error code -4的解決方法

    Android Studio 報錯failed to create jvm error code -4的解決方法

    這篇文章主要介紹了Android Studio 在安裝后啟動報錯failed to create jvm error code -4的解決方法,需要的朋友可以參考下
    2014-05-05
  • Android旋轉、平移、縮放和透明度漸變的補間動畫

    Android旋轉、平移、縮放和透明度漸變的補間動畫

    這篇文章主要實現(xiàn)Android旋轉、平移、縮放和透明度漸變的補間動畫,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2018-04-04
  • 解決Android SELinux權限問題記錄分析

    解決Android SELinux權限問題記錄分析

    這篇文章主要為大家介紹了解決Android SELinux權限問題記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • OkHttp原理分析小結

    OkHttp原理分析小結

    OkHttp 是 Square 公司開源的一款網(wǎng)絡框架,封裝了一個高性能的 http 請求庫,本文對OkHttp原理給大家詳細講解,感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • Android隱藏頂部狀態(tài)欄所遇到的問題

    Android隱藏頂部狀態(tài)欄所遇到的問題

    本文給大家分享兩種隱藏狀態(tài)欄的方法及在實現(xiàn)的過程中遇到的坑,下面在本文中給大家做個總結,希望對大家學習android頂部狀態(tài)欄知識有所幫助
    2016-11-11
  • Android自定義懸浮按鈕效果

    Android自定義懸浮按鈕效果

    這篇文章主要為大家詳細介紹了Android自定義懸浮按鈕效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Android開發(fā)框架MVC-MVP-MVVM-MVI的演變Demo

    Android開發(fā)框架MVC-MVP-MVVM-MVI的演變Demo

    這篇文章主要為大家介紹了Android開發(fā)框架MVC-MVP-MVVM-MVI的演變Demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • android實現(xiàn)上傳本地圖片到網(wǎng)絡功能

    android實現(xiàn)上傳本地圖片到網(wǎng)絡功能

    這篇文章主要為大家詳細介紹了android實現(xiàn)上傳本地圖片到網(wǎng)絡功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Android?RecyclerBarChart繪制使用教程

    Android?RecyclerBarChart繪制使用教程

    這篇文章主要為大家介紹了Android?RecyclerBarChart繪制使用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 超實用的Android手勢鎖制作實例教程

    超實用的Android手勢鎖制作實例教程

    這篇文章主要介紹了一個超實用的Android手勢鎖制作實例教程,普通的圓環(huán)形圖標變換,在App和系統(tǒng)的鎖屏界面中都可以調用,需要的朋友可以參考下
    2016-04-04

最新評論

抚顺市| 醴陵市| 军事| 克东县| 房产| 静安区| 扶风县| 南宁市| 大厂| 临汾市| 行唐县| 绍兴市| 新安县| 汤阴县| 新密市| 公安县| 霍林郭勒市| 潞城市| 济源市| 汤原县| 福贡县| 大丰市| 达孜县| 土默特左旗| 汤原县| 报价| 邹平县| 内丘县| 西乡县| 鄱阳县| 景宁| 虞城县| 安多县| 广宗县| 平湖市| 河北区| 江阴市| 林口县| 青冈县| 汶上县| 新津县|