2017-11-06 41 views
3

어도비 플래시 CS6/어도비 에어 26.0을 사용하여 앱을 만들었습니다.Adobe Air - Detect 앱이 권한을 사용하지 않고 백그라운드에 있습니까?

앱이 백그라운드로 들어갈 때마다 게임을 일시 중지하려면 Deactivate 상태를 올바르게 사용하고 있으며 모든 것이 정상적으로 작동하고 있습니다.

휴대폰 상태 READ_PHONE_STATE을 읽으려면 xml 파일을 통해 권한을 추가해야했습니다.

본인은이 권한이 앱이 휴대 전화의 전화 번호, 로그 및 기타 여러 가지 내용을 읽음을 의미하기 때문에 개인 정보 취급 방침을 만들어야한다는 것도 알고 있습니다.

READ_PHONE_STATE 대신 사용할 수있는 다른 권한이 있습니까? 응용 프로그램이 백그라운드로 이동하는지 알 필요가 있기 때문에 다른 모든 것들이 필요하지 않습니다.

답변

2

앱이 백그라운드로 이동했는지 또는 포어 그라운드로 되돌아 왔는지 감지하려면 READ_PHONE_STATE 권한을 사용해야합니다. 이 권한은 다음 이벤트를 사용할 때 Adobe AIR에서 자동으로 추가됩니다.

은이 응용 프로그램을 비활성화하고 다시 활성화에 대한 이벤트 리스너를 추가하여 수행 검출은 :

NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, onDeactivate); 
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, onActivate); 

function onDeactivate(evt:Event):void 
{ 
    // Pause the game 
} 
function onActivate(evt:Event):void 
{ 
    // Un-Pause the game 
} 
  • 앱이 배경에가되면 Event.DEACTIVATE 이벤트가 시작됩니다.
  • Event.ACTIVATE 이벤트는 앱이 전경으로 으로 갈 때 발생합니다.

READ_PHONE_STATE은 가장 일반적인 사용 권한이며 현재 대부분의 응용 프로그램에서 사용됩니다.

Adobe AIR의 큰 장점은 모든 모바일 OS에서 동일하게 실행된다는 것입니다. 위의 코드는 Android 및 iOS 기기 모두에 대한 권한이 필요없이 사용자가 앱을 종료하거나 최소화 할 때 알려줍니다.

+0

Android 및 iOS 휴대 전화에서 앱을 재생할 예정이며 결과가 좋을 것이라고 제안 하시겠습니까? –

+0

나는 그것을 시도하고 다시 당신에게, 감사합니다! –

+0

앱을 사용하는 중에 누군가가 전화를 걸면 코드가 작동하고 게임이 일시 중지 될 수 있습니까? –