2015-04-28 99 views
0

我正在開發模式鎖定應用程序。
的問題是,當手機屏幕是關閉的,那麼我的LockActivity顯示被解鎖,但是當我按手機Home鍵,然後它的作品。如何覆蓋主頁鍵功能

我想覆蓋home鍵功能(如它不工作),直到我進入解鎖圖案。

@Override 
    public boolean onKeyDown(int keyCode, android.view.KeyEvent event) { 

     if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)||(keyCode == KeyEvent.KEYCODE_POWER)||(keyCode == KeyEvent.KEYCODE_VOLUME_UP)||(keyCode == KeyEvent.KEYCODE_CAMERA)) { 

      return true; 
     } 
     if((keyCode == KeyEvent.KEYCODE_HOME)){ 

      return true; 
     } 

    return false; 

    } 

    public boolean dispatchKeyEvent(KeyEvent event) { 
     if (event.getKeyCode() == KeyEvent.KEYCODE_POWER ||(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN)||(event.getKeyCode() == KeyEvent.KEYCODE_POWER)) { 
      //Intent i = new Intent(this, NewActivity.class); 
      //startActivity(i); 
      return false; 
     } 
     if((event.getKeyCode() == KeyEvent.KEYCODE_HOME)){ 


      return true; 
     } 
    return false; 
    } 

我使用Google搜索,但沒有得到任何解決方案。
請幫幫我。

+0

你正在使用的鎖,如果它完成,然後檢查設備顯示某些模式設備處於睡眠模式或正常模式下使用,如用戶廣播接收器是活動或not.If處於非活動狀態,然後鎖定裝置和之後,我們可以檢查用戶點擊主頁按鈕或不是 – Hanuman

+0

這是惡意的。 –

+0

@Jared Burrows先生我想在屏幕鎖定可行時禁用家庭按鍵功能,但如何?我想知道如何.......我實現了我的應用程序(圖案鎖定應用程序)這個功能 –

回答

0

沒有辦法覆蓋首頁鍵等。沒有辦法檢查家庭按鍵事件。你擁有的唯一可能是編寫自己的家庭或啓動器活動。這樣做實現您的活動,並在清單如下注冊它:

<activity 
    android:name=".MyNewHomeActivity" 
    android:launchMode="singleInstance"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.HOME" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

一旦你做到了這一點,你可以決定onCreate()onResume()做什麼。請注意,這需要您的應用/活動成爲默認啓動器。

+1

您好先生,其實我想禁用Home鍵......爲鎖屏應用程序我有嘗試,但不起作用 –

+0

禁用_Home_關鍵ISN也是不可能的。谷歌已經明智地選擇了這一點,以避免應用程序可能會阻止整個設備。但是,您可以實現一個啓動器應用程序,它可以在'onCreate()'中自己完成。作爲標準的Launcher應用程序,這有點等於忽略_Home_鍵。 – Trinimon

+0

先生請給我替代解決方案.....我如何能夠把家裏的鑰匙,直到解鎖模式在屏幕模式鎖定應用程序, –