Просмотр полной версии : AIR, как отловить нажатие клавиши закрытия приложения на Android?
как отловить нажатие клавиши закрытия приложения на Android?
например в Samsung Galaxy S есть клавиша по середке, как отловить ее нажатие?
http://townden.com/forum-pictures/samsung_button.jpg
пробовал через NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, handleKeys);
но событие не всплывает :( просто сворачивается приложение без никаких событий клавишных
Astraport
07.07.2013, 23:06
http://andrewrost.wordpress.com/2011/03/24/froyo-air-2-5-%E2%80%93-capture-back-and-menu-button/
Astraport спасибо за ссылочку но событие KeyboardEvent.KEY_DOWN не ловит нажатие этой чудо-средней клавиши :(
А ты попробуй прописать условия на все остальные варианты (BACK, MENU. SEARCH) а на Else останется твоя чудо-клавиша. Наверное как то так
function backToMenu(e:KeyboardEvent):void
{
e.preventDefault();
if(e.keyCode == Keyboard.BACK)
{
}
else if(e.keyCode == Keyboard.MENU)
{
}
else if(e.keyCode == Keyboard.SEARCH)
{
}
else {
//НАЖАТА ЧУДО-КНОПКА
}
}
как вариант ... но не факт что у кого-то будет больше клавиш дополнительных, кроме "чудо-клавиши" :)
как вариант ... но не факт что у кого-то будет больше клавиш дополнительных, кроме "чудо-клавиши" :)
Ну ХЗ, может оно будет отлавливать еще и кнопки "ВКЛ/ВЫКЛ" и "Громкость"
Нужно чтобы ктото проверил мою теорию )))
private function initAppHandlers():void {
NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, nativeKeyboard_keyDownHandler);
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, deactivateHandler)
}
private function nativeKeyboard_keyDownHandler(event:KeyboardEvent):void {
switch (event.keyCode) {
case Keyboard.BACK:
event.preventDefault();
NativeApplication.nativeApplication.exit();
break;
case Keyboard.MENU:
trace("Menu key is pressed.");
break;
case Keyboard.SEARCH:
trace("Search key is pressed.");
break;
}
}
private function deactivateHandler(event:Event):void {
// закрываем в андроиде, а не в эмуляторе
if (Capabilities.playerType.search("Linux") != -1)
NativeApplication.nativeApplication.exit();
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.