События нажатия на кнопки

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
nn25
Сообщения: 14
Зарегистрирован: 13 апр 2014, 12:00

События нажатия на кнопки

Сообщение nn25 » 27 май 2014, 10:29

Вобщем, не знаю как правильно выразиться. :D Есть ли возможность вешать команды на события нажатия на стандартные кнопки телефона? Иными словами: на смартфонах есть кнопки назад, свернуть, меню... есть ли обработчики нажатия на эти кнопки?

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: События нажатия на кнопки

Сообщение klblk » 27 май 2014, 10:47

nn25 писал(а):Вобщем, не знаю как правильно выразиться. :D Есть ли возможность вешать команды на события нажатия на стандартные кнопки телефона? Иными словами: на смартфонах есть кнопки назад, свернуть, меню... есть ли обработчики нажатия на эти кнопки?
1) Нажатие на кнопку назад обрабатывается в методе onBackPressed()
2) Нажатие на Home (или как вы окрестили её "свернуть") без бубна не получится
3) при открытии меню вроде бы вызывается метод onMenuOpened() (судя по описанию)

yanchumak
Сообщения: 31
Зарегистрирован: 19 май 2014, 10:50

Re: События нажатия на кнопки

Сообщение yanchumak » 27 май 2014, 12:22

для Home, можно использоваться такой велосипед

Код: Выделить всё

boolean mKeyPress;  
boolean mUserLeaveHint;

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    mKeyPress = true;
    return super.onKeyDown(keyCode, event);
} 

@Override
protected void onUserLeaveHint()
{
    super.onUserLeaveHint();
    mUserLeaveHint = true;
}

@Override
protected void onPause()
{
    super.onPause();
    if (!mKeyPress && mUserLeaveHint)
    {
        // HOME_KEY is pressed
    }
}

Ответить