2015-01-28 3 views
1

저는 Android 용 Adobe AIR 앱 몇 개를 개발 중입니다. 내가 만나는 문제는 앱이 배경에있을 때 (예 : 사용자가 기기의 홈 버튼을 누를 때) 앱 실행이 계속된다는 것입니다. 프레임 속도가 약 2fps로 떨어지지 만 오디오 및 타이머가 계속됩니다.Android에서 Adobe AIR 앱의 백그라운드 실행을 비활성화하는 방법은 무엇입니까?

활성화되지 않은 경우 일시 중지하려면 app/script 실행이 필요합니다. 나는 타이머, 오디오, 타임 라인 등을 계속하기를 원하지 않는다. Event.DEACTIVATE/Event.ACTIVATE에서 모두 일시 중지/다시 시작하는 것은 앱의 복잡성과 구조로 인해 실제로 가능하지 않습니다.

'NativeApplication.nativeApplication.executeInBackground = false'를 명시 적으로 설정해 보았습니다. 효과가 없습니다. 내 매니페스트 XML에는 백그라운드 실행으로 아무 것도 수행하지 않는 것이 있습니다.

Adobe AIR 16.0을 사용하고 있습니다. 나는 삼성 갤럭시 노트 10.1 2014, 삼성 갤럭시 S4, 둘 다 안드로이드 4.4 +를 실행 테스트했습니다

나는이 질문에 반대 질문을 참조하십시오, 그래서이 동작이 이상한 것 같습니다.

감사합니다.

답변

3

이러한 이벤트를 monitore 수 있습니다 응용 프로그램이 활성화되거나

NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, function(event:Event):void 
{ 
    // activated  
}); 

NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, function(event:Event):void 
{ 
    // deactivated 
}); 
+0

(배경) 이미 그 이벤트 리스너를 구현 한 비활성화 될 때 Event.ACTIVATEEvent.DEACTIVATE 알고. 중요한 것은 비활성화되었을 때 앱을 일시 중지 할 수있는 방법을 찾고 있습니다. 이러한 이벤트는 물론 유용하지만 앱 실행은 이전처럼 계속됩니다. – Reinier

+0

예를 들어, 소리와 많은 3D 개체가있는 응용 프로그램이 있습니다. Event.DEACTIVATE가 트리거되면 소리와 3D 렌더링을 중지합니다 (응용 프로그램의 실행이 이전과 같지 않음). 그리고 이벤트 .ACTIVATE가 트리거되어 사운드가 재생되고 3D 렌더링됩니다. – gabriel

+0

좋아, 그 사건은 수동으로 쉽게 할 수 있지만 내 애플 리케이션은 많은 시간 이벤트 등 복잡한 구조를 가지고 있습니다. 나는 비활성 기간 동안 앱 실행을 완전히 일시 중지하는 전체/탑 다운 방식을 찾고 있습니다. – Reinier

관련 문제