好的,我为Android制作了一款应用。当我们按下Android手机的中间按钮或后退(左侧)按钮时,我们都知道Android应用程序仍然在后台运行。 所以我的代码就是这样:
第一行(addEventListener)位于私有函数中,该函数在您打开应用程序时立即运行。
NativeApplication.nativeApplication.addEventListener(flash.events.Event.EXITING, onMyAppExit)
private function onMyAppExit(event:flash.events.Event):void{
trace("onMyAppExit is running");
saveProgress();
}
基本上,我希望saveProgress()在应用程序ACTUALLY退出后台运行时运行。我注意到当我打开像Candy Crush这样的另一个应用程序时,我的应用程序实际上已退出。我猜Android操作系统会在不使用应用程序时以及当您使用的应用程序占用大量内存时自动退出应用程序。但是,我的代码仅在我在AIR Debug Launcher(Mobile)中运行我的应用程序时才有效。我知道,因为当我点击应用程序窗口右上角的x按钮时,我在输出窗口中看到了函数中的跟踪。但是当我将我的Android手机连接到电脑然后---> AIR3.8 for Android设置--->发布,然后我“开始远程调试会话”,我首先打开我的应用程序,然后打开Candy Crush,以便Android操作系统自动退出我的应用程序,我没有看到跟踪。所以我最终确定代码在我的手机上不起作用。
答案 0 :(得分:1)
我认为你应该使用事件Event.DEACTIVATE
,
当应用程序转到后台时,您可以保存所有内容,以便操作系统可以将您的应用程序关闭它仍然是安全的:)
当应用程序返回到前台时,您将拥有事件Event.ACTIVATE
,以便您可以处理它以恢复您的级别。