Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   AIR, как отловить нажатие клавиши закрытия приложения на Android? (http://www.flasher.ru/forum/showthread.php?t=202281)

_KVA_ 07.07.2013 22:52

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...d-menu-button/

_KVA_ 08.07.2013 02:26

Astraport спасибо за ссылочку но событие KeyboardEvent.KEY_DOWN не ловит нажатие этой чудо-средней клавиши :(

vivado 11.07.2013 16:53

А ты попробуй прописать условия на все остальные варианты (BACK, MENU. SEARCH) а на Else останется твоя чудо-клавиша. Наверное как то так
Код AS3:

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 {
                //НАЖАТА ЧУДО-КНОПКА
        }
}


_KVA_ 11.07.2013 17:02

как вариант ... но не факт что у кого-то будет больше клавиш дополнительных, кроме "чудо-клавиши" :)

vivado 11.07.2013 17:06

Цитата:

Сообщение от _KVA_ (Сообщение 1140739)
как вариант ... но не факт что у кого-то будет больше клавиш дополнительных, кроме "чудо-клавиши" :)

Ну ХЗ, может оно будет отлавливать еще и кнопки "ВКЛ/ВЫКЛ" и "Громкость"
Нужно чтобы ктото проверил мою теорию )))

Котяра 11.07.2013 17:10

Код AS3:

        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();                       
                }



Часовой пояс GMT +4, время: 18:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.