2013-06-19 3 views
1

Я хочу отключить Android-устройство home button, когда мое приложение запустится.как отключить кнопку дома в android?

я попытался следующий код, но он din't помощь:

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if ((keyCode == KeyEvent.KEYCODE_HOME)) { 
      Toast.makeText(this, "You pressed the home button!", 
        Toast.LENGTH_LONG).show(); 
      return false; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

    @Override 
    protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
    if (Intent.ACTION_MAIN.equals(intent.getAction())) { 
    Log.i("MyLauncher", "onNewIntent: HOME Key"); 

    } 
    } 
+2

Просто скажите, вы не можете !!! –

+0

Да! согласен с @ManishAndroid. – TheLittleNaruto

+0

Возможный дубликат кнопки [Disable Home в Android 4.0 или выше] (http://stackoverflow.com/questions/13560100/disable-home-button-in-android-4-0-or-above) –

ответ

1

Вы не можете отключить кнопку домой.

Невозможно перехватить кнопку «домой» на Android, если вы не сделаете свое приложение на главном экране. Это по соображениям безопасности, так что вредоносные приложения не могут захватить ваше устройство, переопределив все кнопки, которые могут выйти.

Главная кнопка - это один верный короткий путь для перехода на главный экран.

Если вы хотите обработать кнопку HOME, внесите домашний экран.

Not able disable Home button on specific android devices

Проверить ответ на CommonsWare

+0

Это может быть дубликат? –

+0

дубликат чего? может быть дублированием другого вопроса.я не уверен – Raghunandan

+0

: D Я спрашиваю о вопросе (слишком много вопросов есть). Не говоря, что ваш ответ повторяется :) –

7

Вы можете использовать Android-HomeKey-Locker отключить HOME KEY и другие системные ключи (например, клавиши возврата и клавиша меню)

NOTE

Похоже, что решение работает только на устройствах с жестким домашним ключом

Надеюсь, это поможет вам в вашем заявлении. Благодарю.

+0

Как я могу импортировать ваш код github в свой проект? –

+0

@menu_on_top клонирует репо, добавляет HomeLockerLib к зависимостям вашего приложения проекта – shaobin0604

+0

Эй, большое вам спасибо за ваше решение, но возможно ли также для мягких домашних ключей? Пожалуйста, предложите идею, если это возможно. – Prince

0

Вы можете использовать ниже метод, чтобы отключить кнопку Home в андроида:

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

Я думаю, что это можно сделать в другом стиле, если подходит вашему требованию. Создавая свою деятельность как домашнюю деятельность. Если вы хотите отключить домашнюю кнопку и показать свою пользовательскую активность приложения в качестве запуска при нажатии кнопки дома. Просто добавьте эти строки в манифест для этой активности, для которой вы хотите свою пусковую установку.

<activity 
      android:name="com.example.TempActivity" 
      android:clearTaskOnLaunch="true" 
      android:excludeFromRecents="true" 
      android:launchMode="singleTask" 
      android:screenOrientation="landscape" 
      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" /> 

      </intent-filter> 
</activity> 

После добавления и запуска приложения. если пользователь нажмет кнопку «домой», Android спросит, для какой пусковой установки вы хотите свой дом. Тогда вам нужно выбрать приложение для запуска приложений ВСЕГДА НЕ ТОЛЬКО ОДИН РАЗ.

Если вы хотите полностью отключить пользователя, чтобы он не мог перейти на другой экран, установите тему в полноэкранном режиме с помощью NoTitlebar.

Смежные вопросы