Я ViewNavigatorApplication не использую, может не совсем то что вам нужно. Вот как вешаю действия на хардварные кнопки:

Код AS3:
//вешаем слушатель для кнопок
private function enableHardwareKeyListeners(event:FlexEvent):void {
NativeApplication.nativeApplication.addEventListener("keyDown", handleButtons, false, 0, true);
}
//функция выхода из приложения
public function closeApp():void{
NativeApplication.nativeApplication.exit();
}
//функция слушателя
private function handleButtons(e:KeyboardEvent):void{
if(e.keyCode == Keyboard.BACK)//если кнопка Back
{
e.preventDefault();
if (currentState != 'general'){//если находимся не на главном view/state
currentState = 'general';//идем на главный вид
}else{//если находимся на главной - вызываем диалоговое окно для закрытия приложения. Для закрытия юзаем closeApp()
alertShow('EXIT');
}
}
else if(e.keyCode == Keyboard.MENU){//если кнопка Menu
e.preventDefault();
//вызываем меню или еще чего
}
}