2012-03-12 2 views
0

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

обновление: может ли кто-нибудь сказать мне, как определить мое приложение в качестве запуска?

ответ

1

вы не можете заставить его работать, как вы хотите, но вы можете отключить его

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

и вы можете сказать пользователю, что домашняя кнопка отключена:

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_HOME) { 
     Context context = getApplicationContext(); 
     Toast toast = Toast.makeText(context,"Home button is disabled",1); 
     toast.setGravity(Gravity.CENTER_VERTICAL,0,0); 
     toast.show(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event);  
} 
+0

Я получаю сообщение об ошибке, что диспетчер окон не может быть установлен в переменную. Что это? получил это –

+0

Спасибо тонну. Он плохо работает на эмуляторе. Я очень ценю это. –

+1

К счастью, эта дыра в безопасности закрыта в новых версиях Android. – CommonsWare

2

Нет, вы не можете. Когда бы ни была нажата кнопка «Домой», структура всегда будет отбрасывать вас на главный экран Android. Извините, вам не повезло. :)

+0

У меня есть работа по приведенному выше коду. Он отлично работает на эмуляторе, а также на моем устройстве. –

1

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

Сделайте свое приложение домашним экраном. Пользователь может удалить приложение, перезагрузив его в безопасном режиме.

+0

Что такое безопасный режим? никогда не слышал об этом вообще. –

+0

@VyprNoch: http://androinica.com/2010/08/how-to-activate-android%E2%80%99s-safe-mode-to-get-out-of-a-force-close-loop/ и многие другие статьи по этому вопросу можно найти через поисковую систему по вашему выбору. – CommonsWare

+0

Возможно ли сделать мой рабочий экран для вашего приложения, как вы сказали? пожалуйста, скажите мне код или как это сделать? –