亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android中監聽Home鍵的4種方法總結

2020-04-11 11:36:07
字體:
來源:轉載
供稿:網友

昨天需要處理一個問題,需要監聽home鍵。最開始想到使用onKeydonwn這個方法。但是發現home不能這樣處理,onKeydonwn可以處理菜單鍵和back鍵,但home不能。因為home鍵是系統鍵,情況特殊一些。
看了一下網上的資料,說下面的方法可以。(其實不行)

復制代碼 代碼如下:

@Override 
   public void onAttachedToWindow() { 
       // TODO Auto-generated method stub 
       Log.d("aeon","onAttachedToWindow"); 
       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);  
       super.onAttachedToWindow(); 
   } 

加了權限之后也不行。
復制代碼 代碼如下:

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" > 
   </uses-permission> 

 
實驗幾次之后(android4.1 和android4.2)發現在單個的activity里面有以下幾個方法可以使用:
 
方法1:onSaveInstanceState方法
  下面這個方法可以處理home的監聽問題。
復制代碼 代碼如下:

protected void onSaveInstanceState(Bundle outState) 

但這個方法不是很好,不推薦

方法2:onUserLeaveHint方法
 

復制代碼 代碼如下:

@Override 
    protected void onUserLeaveHint() { 
        Log.d("aeon","onUserLeaveHint"); 
        super.onUserLeaveHint(); 
    } 
 
這個方法會在onSaveInstanceState之前執行,根據api的解釋,這個方法還比較合適的。
 
方法3:ACTION_CLOSE_SYSTEM_DIALOGS
 
在使用廣播監聽方面可以使用ACTION_CLOSE_SYSTEM_DIALOGS
復制代碼 代碼如下:

//注冊Receiver 
  
              HomeKeyEventBroadCastReceiver receiver = new HomeKeyEventBroadCastReceiver(); 
             registerReceiver(receiver, new IntentFilter( 
                           Intent. ACTION_CLOSE_SYSTEM_DIALOGS)); 

方法4:framework PhoneWindowManager.java 處理
 
想要完全監聽home鍵需要在framework層去處理。
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
里面去修改private void handleLongPressOnHome() 這個方法。
 
復制代碼 代碼如下:

private void handleLongPressOnHome() { 
        // We can't initialize this in init() since the configuration hasn't been loaded yet. 
        if (mLongPressOnHomeBehavior < 0) { 
            mLongPressOnHomeBehavior 
                    = mContext.getResources().getInteger(R.integer.config_longPressOnHomeBehavior); 
            if (mLongPressOnHomeBehavior < LONG_PRESS_HOME_NOTHING || 
                    mLongPressOnHomeBehavior > LONG_PRESS_HOME_RECENT_SYSTEM_UI) { 
                mLongPressOnHomeBehavior = LONG_PRESS_HOME_NOTHING; 
            } 
        } 
 
        if (mLongPressOnHomeBehavior != LONG_PRESS_HOME_NOTHING) { 
            performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false); 
            sendCloseSystemWindows(SYSTEM_DIALOG_REASON_RECENT_APPS); 
 
            // Eat the longpress so it won't dismiss the recent apps dialog when 
            // the user lets go of the home key 
            mHomeLongPressed = true; 
        } 
 
        if (mLongPressOnHomeBehavior == LONG_PRESS_HOME_RECENT_DIALOG) { 
            showOrHideRecentAppsDialog(RECENT_APPS_BEHAVIOR_SHOW_OR_DISMISS); 
        } else if (mLongPressOnHomeBehavior == LONG_PRESS_HOME_RECENT_SYSTEM_UI) { 
            try { 
                IStatusBarService statusbar = getStatusBarService(); 
                if (statusbar != null) { 
                    statusbar.toggleRecentApps(); 
                } 
            } catch (RemoteException e) { 
                Slog.e(TAG, "RemoteException when showing recent apps", e); 
                // re-acquire status bar service next time it is needed. 
                mStatusBarService = null; 
            } 
        } 
    } 

只要把handleLongPressOnHome里面做出相對應的處理就ok

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩免费一区| 亚洲人成啪啪网站| 亚洲免费伊人电影在线观看av| 国产九九精品视频| 91免费看片在线| 亚洲二区中文字幕| 久久久免费高清电视剧观看| 国产精品日韩欧美| 亚洲福利小视频| 日韩欧美成人区| 日韩精品极品在线观看| 国产视频福利一区| 国产精品女人网站| 欧美激情视频在线观看| 欧美成人sm免费视频| 日韩精品在线观| 国产精品一区二区三区毛片淫片| 成人欧美一区二区三区在线湿哒哒| 亚洲级视频在线观看免费1级| 亚洲精品视频播放| 欧美老女人性视频| 日韩成人在线视频| 日韩最新在线视频| 午夜精品一区二区三区在线播放| 色伦专区97中文字幕| 欧美刺激性大交免费视频| 亚洲欧美一区二区精品久久久| 久久久久久久影视| 国产精品影院在线观看| 国产日韩精品综合网站| 中文字幕久精品免费视频| 美女视频黄免费的亚洲男人天堂| 亚洲色图第三页| 亚洲精品久久久久久久久| 性欧美亚洲xxxx乳在线观看| 精品少妇v888av| 日韩av电影手机在线观看| 中文国产成人精品| 日本精品久久中文字幕佐佐木| 欧美激情国产日韩精品一区18| 色婷婷综合久久久久中文字幕1| 国产精品美女在线| 国产精品久久999| 久久99精品国产99久久6尤物| 日韩美女在线播放| 黑人巨大精品欧美一区二区一视频| 欧美激情奇米色| 欧美黄色片免费观看| 97国产在线观看| 亚洲精品成人网| 日韩免费高清在线观看| 久久久久久久亚洲精品| 伊人久久大香线蕉av一区二区| 久久艹在线视频| 国产成人鲁鲁免费视频a| 亚洲欧美999| 国产精品自拍小视频| 欧美性少妇18aaaa视频| 欧美日韩国产区| 欧美在线视频观看| 九色91av视频| 亚洲久久久久久久久久久| 国产成人av在线| 国产精品久久久久aaaa九色| 久久久av一区| 69av在线播放| 国产+人+亚洲| 亚洲综合中文字幕在线| 久久精品夜夜夜夜夜久久| 欧美性猛交99久久久久99按摩| 亚洲免费中文字幕| 亚洲一区二区三区在线免费观看| 欧洲精品毛片网站| 在线看国产精品| 人妖精品videosex性欧美| 日韩精品中文字幕在线| 国产精品久久久久久久一区探花| 日韩在线播放av| 欧美成人亚洲成人日韩成人| 亚洲精品国产精品久久清纯直播| 欧美裸体xxxx| 91探花福利精品国产自产在线| 亚洲精品永久免费| 国产精品电影网| 国产a∨精品一区二区三区不卡| 国产精品一香蕉国产线看观看| 久久九九热免费视频| 亚洲国产精品高清久久久| 久久久国产精彩视频美女艺术照福利| 日韩中文字幕在线视频| 日韩免费在线观看视频| 欧美国产日韩在线| 精品久久久久久国产| 国产精品亚洲аv天堂网| 久久99久久99精品免观看粉嫩| 中文字幕日韩欧美精品在线观看| 人人澡人人澡人人看欧美| 亚洲日本中文字幕| 久久精品国产69国产精品亚洲| 色综合91久久精品中文字幕| 欧美精品在线免费观看| 欧美激情视频给我| 国产精品吴梦梦| 亚洲性线免费观看视频成熟| 性色av一区二区三区在线观看| 日韩亚洲精品电影| 国产精品h在线观看| 日韩av片永久免费网站| 欧美性猛交xxxx黑人| 美女精品久久久| 国产精品视频中文字幕91| 一区二区三区日韩在线| 日韩欧美在线一区| 夜夜嗨av一区二区三区免费区| 欧美日韩国产一区二区| 97av视频在线| 亚洲网站在线播放| 国产视频亚洲视频| 欧美成人精品在线视频| 亚洲桃花岛网站| 国产日韩欧美成人| 亚洲精品免费网站| 色综合天天狠天天透天天伊人| 亚洲成年网站在线观看| 国产日产久久高清欧美一区| 欧美日韩ab片| 精品呦交小u女在线| 国产一级揄自揄精品视频| 亚洲影院色在线观看免费| 国产亚洲人成a一在线v站| 精品久久久中文| 91av在线不卡| 国模精品视频一区二区三区| 亚洲女成人图区| 欧美激情视频一区二区三区不卡| 不卡毛片在线看| 欧美三级欧美成人高清www| 亚洲日本aⅴ片在线观看香蕉| 国产精品美女免费| 亚洲sss综合天堂久久| 成人av番号网| 欧美最顶级的aⅴ艳星| 欧美丝袜一区二区三区| 日韩av影片在线观看| 国产成人av网址| 亚洲一区二区三区久久| 国产精品久久久久久一区二区| 欧美在线视频观看免费网站| 在线播放国产一区二区三区| 国产精品国产三级国产aⅴ浪潮| 亚洲欧美日韩一区二区在线| 综合久久五月天| 国产精品福利久久久| 亚洲国模精品一区| 日韩国产欧美精品在线| 中文字幕一区二区精品| 欧美国产日韩视频| 性欧美亚洲xxxx乳在线观看| 国产欧洲精品视频| 国产自产女人91一区在线观看| 欧美丝袜一区二区三区| 久久精品色欧美aⅴ一区二区| 国产亚洲精品va在线观看| 97婷婷大伊香蕉精品视频|