在 as3 中处理 iOS 主页按钮按下

Posted

技术标签:

【中文标题】在 as3 中处理 iOS 主页按钮按下【英文标题】:Handle iOS home button press in as3 【发布时间】:2012-01-17 19:40:35 【问题描述】:

我需要帮助检测和处理在运行 AIR 应用程序的 iPhone/iPod Touch 上按下的主页按钮。我试过了

NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, handleKeys, false, 0, true);

function handleKeys(event:KeyboardEvent):void

    if(event.keyCode == Keyboard.HOME) 
         //do something
    

没有运气。有任何想法吗?具体来说,我想阻止应用在按下主页按钮时关闭。

【问题讨论】:

您不应阻止应用在按下 ios 主页按钮时关闭/移至后台。如果用户单击主页按钮,他们打算转到主屏幕。相反,您应该快速保存状态以响应 DEACTIVATE 事件。 【参考方案1】:
import flash.events.Event;

addEventListener(Event.ACTIVATE, activateListener);
addEventListener(Event.DEACTIVATE, deactivateListener);

private function activateListener(e:Event):void
        //do something when awakened




private function deactivateListener(e:Event):void
        //do something when home button is pressed.


【讨论】:

当我用 e.preventDefault() 实现你的代码时;包裹在 deactivateListener 函数中,它对阻止应用程序关闭没有任何影响。我要防止应用程序以错误的方式关闭吗? 您无法阻止应用停用。您所能做的就是在停用开始之前采取行动。

以上是关于在 as3 中处理 iOS 主页按钮按下的主要内容,如果未能解决你的问题,请参考以下文章

在Phonegap / iOS中按下主页按钮时访问localStorage

在 Swift 3 中检测 iOS9 和 iOS10 上的屏幕锁定或主页按钮按下

即使按下主页按钮或手机进入待机状态,如何在 iOS 中继续进行 RESTKit 调用

iOS 9:按下主页按钮时不调用 UIPresentationController::runTransitionForCurrentState

按下主页按钮后,AVAudioPlayer 不播放音频

当我在 iOS 应用程序的后台任务(使用 GCD)中间按下 1 次主页按钮时,由于信号 9 而终止