Adobe Air 应用程序 - 不在后台也不在前台 - iPhone
Adobe Air Application - Not in background and not in Foreground - iPhone
我有一个 adobe air 应用程序 - iOs 和 Android 的 AS3。
每当用户单击主页按钮时,应用程序现在处于后台,应用程序会自动停止,这是预期的行为。
现在,如果用户在应用程序中,并且他双击主页按钮,显示所有多个 windows,应用程序继续 运行,这不是我想要的。
我如何访问该状态(不是背景,不是前景)?如果我可以访问它,我会将我的暂停代码置于该状态,但我如何才能访问该特定状态?
当用户单击主页按钮时,应用程序将移至后台并暂停。该应用程序未关闭。 OS 可以关闭应用程序以释放内存。如果您的应用是内存大户,您就会看到这种情况。
您使用由 NativeApplication 对象调度的事件。下面是侦听和处理这些事件的示例代码。
import flash.events.Event;
import flash.desktop.NativeApplication;
import flash.desktop.SystemIdleMode;
// create listeners to NativeApplication
private var naApplication: NativeApplication;
naApplication = NativeApplication.nativeApplication;
naApplication.addEventListener(Event.ACTIVATE, eActivate);
naApplication.addEventListener(Event.DEACTIVATE, eDeactivate);
naApplication.addEventListener(Event.EXITING, eExiting);
private function eActivate(e: Event): void {
// app has opened or resumed
application.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
}
private function eDeactivate(e: Event): void {
// app is going to be moved to background
application.systemIdleMode = SystemIdleMode.NORMAL;
}
private function eExiting(e: Event): void {
// app is going to be closed by user or by the OS (usually to free up memory)
// do whatever exit code here then remove all listeners (to be clean don't rely on OS to close them)
application.removeEventListener(Event.ACTIVATE, eActivate);
application.removeEventListener(Event.DEACTIVATE, eDeactivate);
application.removeEventListener(Event.EXITING, eExiting);
application.systemIdleMode = SystemIdleMode.NORMAL;
removeEventListener(Event.ENTER_FRAME, eMainTimer);
}
systemIdleMode 和 ENTER_FRAME 只是典型代码的示例。有任何问题请告诉我。
我有一个 adobe air 应用程序 - iOs 和 Android 的 AS3。
每当用户单击主页按钮时,应用程序现在处于后台,应用程序会自动停止,这是预期的行为。
现在,如果用户在应用程序中,并且他双击主页按钮,显示所有多个 windows,应用程序继续 运行,这不是我想要的。
我如何访问该状态(不是背景,不是前景)?如果我可以访问它,我会将我的暂停代码置于该状态,但我如何才能访问该特定状态?
当用户单击主页按钮时,应用程序将移至后台并暂停。该应用程序未关闭。 OS 可以关闭应用程序以释放内存。如果您的应用是内存大户,您就会看到这种情况。
您使用由 NativeApplication 对象调度的事件。下面是侦听和处理这些事件的示例代码。
import flash.events.Event;
import flash.desktop.NativeApplication;
import flash.desktop.SystemIdleMode;
// create listeners to NativeApplication
private var naApplication: NativeApplication;
naApplication = NativeApplication.nativeApplication;
naApplication.addEventListener(Event.ACTIVATE, eActivate);
naApplication.addEventListener(Event.DEACTIVATE, eDeactivate);
naApplication.addEventListener(Event.EXITING, eExiting);
private function eActivate(e: Event): void {
// app has opened or resumed
application.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
}
private function eDeactivate(e: Event): void {
// app is going to be moved to background
application.systemIdleMode = SystemIdleMode.NORMAL;
}
private function eExiting(e: Event): void {
// app is going to be closed by user or by the OS (usually to free up memory)
// do whatever exit code here then remove all listeners (to be clean don't rely on OS to close them)
application.removeEventListener(Event.ACTIVATE, eActivate);
application.removeEventListener(Event.DEACTIVATE, eDeactivate);
application.removeEventListener(Event.EXITING, eExiting);
application.systemIdleMode = SystemIdleMode.NORMAL;
removeEventListener(Event.ENTER_FRAME, eMainTimer);
}
systemIdleMode 和 ENTER_FRAME 只是典型代码的示例。有任何问题请告诉我。