2013-02-28 2 views
2

응용 프로그램을 종료하기 전에 수행 할 수있는 방법이 있습니까?
예를 들어 누군가가 응용 프로그램을 닫았지만 서버에 데이터를 보내야 만했습니다. ...응용 프로그램을 닫기 전에 물건을 사용하는 방법은 무엇입니까?

+2

브라우저 기반 응용 프로그램에 대해 이야기하고 있습니까? 아니면 Adobe AIR 응용 프로그램입니까? 또는 모바일 응용 프로그램입니까? – JeffryHouser

+0

투표가 내려져야하는 이유가 보이지 않습니다. 그는 합법적 인 질문을하고 있습니다. 아마 저와 같은 것일 수도 있습니다. 그는 플랫폼과 관련이 있다는 것을 깨닫지 못합니다. 또는 더 나은 방법은 우리가 모두 Flex/AIR에서하는 일에 익숙하지 않은 불가지론 적 방법입니다. –

+0

그것의 브라우저 기반 응용 프로그램 ... –

답변

2

어떤 plattform에 대해 명확히하십시오!

브라우저의 경우 JavaScript onbeforeunload 이벤트와 Flash externalInterface로 작업해야합니다. Here is a how to Link!

안드로이드의 경우 다음과 같이 보일 것입니다!

if(Capabilities.cpuArchitecture=="ARM") // check if Android 
{ 
    NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true); 
    NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, handleDeactivate, false, 0, true); 
    NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, handleKeys, false, 0, true); 
} 

private function handleActivate(event:Event):void 
{ 
    // load your stuff again or whatever 
    NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE; 
} 

private function handleDeactivate(event:Event):void 
{ 
    // Save your Stuff and do whatever!!! 
    NativeApplication.nativeApplication.exit(); 
} 

private function handleKeys(event:KeyboardEvent):void 
{ 
    if(event.keyCode == Keyboard.BACK){ 
     // Save your Stuff and do whatever!!! 
     NativeApplication.nativeApplication.exit(); 
    } 
} 
+1

나는 이것과 같은 대답을 입력하려고했으나 웹 응용 프로그램을위한 해결책도 포함시켰다 : 브라우저의'onbeforeunload' 이벤트를 사용하라. OP는 그것을 잘 할 수 있으며 잘 문서화되어있다. 그것은 몇 가지 단점 (잘 문서화되어 있음)을 가지고 있지만, 브라우저에서 유일한 옵션입니다. 또한 NativeApplication은 Event.SUSPEND를 전달합니다. 이는 모바일 AIR 응용 프로그램 측면에서 SUSPEND와 DEACTIVATE의 차이점을 파악하는 데 도움이 될까요? –

+0

atm, id도 봐야 해.)하지만 IOS가 유일한 것 같아. – M4tchB0X3r

+0

웹 앱용 솔루션이 필요합니다. 해답을 알려주세요! –

관련 문제