2017-06-14 65 views
0

我不能禁用home鍵,並且採用的是Android旁邊我想這個代碼,但不工作我可以禁用的主頁按鈕在Android

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

你有解決這個問題的任何想法? 或者我可以永久永久隱藏導航欄嗎?

+0

要隱藏導航欄永久永遠!?你爲什麼想要做這樣的事情?您可以全屏並全屏隱藏 – lelloman

+0

您無法在Android中禁用或完全隱藏導航欄。但是,您可以將您的應用設置爲啓動器,例如在此帖子中:https://stackoverflow.com/a/27120660/5508719 –

+0

請注意,不允許用戶退出您的應用可能會讓他們對您有點生氣。 – Pelocho

回答

1

我發現了它。 我拿了一部分從這裏 how to disable home button in android? 並添加一行原本存在 LAUNCHER列如下:

<activity android:name=".MainActivity" 
     android:clearTaskOnLaunch="true" 
     android:excludeFromRecents="true" 
     android:launchMode="singleTask" 
     android:screenOrientation="portrait" 
     android:stateNotNeeded="true" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.HOME" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.LAUNCHER"/> 

     </intent-filter> 
    </activity> 
0

我可以永久永久隱藏導航欄嗎?

不,系統不會允許你這樣做。但是你可以阻止應用程序退出。 在onPause()方法中執行以下操作。

@Override 
    protected void onPause() { 
     super.onPause(); 
     ActivityManager activityManager = (ActivityManager) getApplicationContext() 
       .getSystemService(Context.ACTIVITY_SERVICE); 
     activityManager.moveTaskToFront(getTaskId(), 0); 
    } 

您需要下列權限

<uses-permission android:name="android.permission.GET_TASKS"/> 
<uses-permission android:name="android.permission.REORDER_TASKS" /> 
+0

謝謝, 但不起作用。 我需要任何許可嗎? – Hazem

+0

@HazemENG看到我編輯的答案 – Darish

+0

這是好事,但只適用於方形按鈕,並且對於home按鈕不起作用 – Hazem