애플리케이션 이벤트핸들러를 등록하면 앱의 라이프 사이클 이벤트를 수신할 수 있습니다.


먼저 상단(interface) uses절에 FMX.Platform을 추가 후 이벤트 수신 용 이벤트를 아래와 같이 작성합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function TForm1.AppEventHandler(AAppEvent: TApplicationEvent;
  AContext: TObject): Boolean;
begin
  Result := False;
  case AAppEvent of
    TApplicationEvent.FinishedLaunching: Log.d('FinishedLaunching');
    TApplicationEvent.BecameActive: Log.d('BecameActive');
    TApplicationEvent.WillBecomeInactive: Log.d('WillBecomeInactive');
    TApplicationEvent.EnteredBackground: Log.d('EnteredBackground');
    TApplicationEvent.WillBecomeForeground: Log.d('WillBecomeForeground');
    TApplicationEvent.WillTerminate: Log.d('WillTerminate');
    TApplicationEvent.LowMemory: Log.d('LowMemory');
    TApplicationEvent.TimeChange: Log.d('TimeChange');
    TApplicationEvent.OpenURL: Log.d('OpenURL');
  end;
end;

메인 폼 생성 시 이벤트 핸들러를 등록(SetApplicationEventHandler)합니다.

1
2
3
4
5
6
7
8
9
procedure TForm1.FormCreate(Sender: TObject);
var
  AEService: IFMXApplicationEventService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(AEService)) then
  begin
    AEService.SetApplicationEventHandler(AppEventHandler);
  end;
end;

아래 이벤트를 참고해 필요한 항목에 이벤트 발생 시 코드를 추가하세요.


애플리케이션 이벤트 플랫폼 별 지원 여부

 이벤트

 설명

 안드로이드 지원

 iOS 지원

 BecomeActive

 애플리케이션이 활성화 되었습니다.

 지원

 지원 

 EnteredBackground

 애플리케이션이 백그라운드로 진입했습니다.

 지원

 지원

 FinishedLaunching

 애플리케이션이 시작되었습니다.

 지원

 지원

 LowMemory

 디바이스 메모리가 부족하다는 경고입니다. 내부 메모리 사용량을 줄이세요.

 지원

 지원

 OpenURL

 url 요청을 받았습니다.

 X

 지원

 TimeChange

 시간에 큰 변화가 발생. 하루가 바뀐 경ㅇ나 서머타임이 시작 또는 끝난 경우 발생

 X

 지원

 WillBecomeForeground

 백그라운드의 애플리케이션이 활성화 되었습니다.

 지원

 지원

 WillBecomeInactive

 다른 애플리케이션이 활성화 되었습니다.

 지원

 지원

 WillTerminate

 사용자가 애플리케이션을 종료합니다.

 지원

 지원


안드로이드 라이프사이크

http://developer.android.com/reference/android/app/Activity.html


iOS 라이프사이크


https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html


참고 글

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 17822
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 16181
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18832
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 24404
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25788
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 21146
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41738
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 177043
823 [업데이트][10.2 도쿄][릴리즈 3] 10.2 도쿄 - 릴리즈 3 출시 & 설치방법 안내 관리자 2018.03.14 1180
822 이 달의 기술자료 - 2018년 03월 file 험프리 2018.02.23 791
821 [발표자료] 2018022 마이크로서비스 아키텍처 구현과 활용 with RAD서버 file 관리자 2018.02.23 443
820 [업데이트][핫픽스][10.2.2] RTL 호환성패치 및 안드로이드 애니메이션 문제 해결 - 2018년 2월 패치 file 험프리 2018.02.20 579
819 개발자가 고민하는 마이그레이션 논쟁 해소를 위한 7가지 핵심 방안 관리자 2018.02.19 1396
818 [고객사례-UI컴포넌트 개발도구, 델파이] 페트라 (Petra) 관리자 2018.02.01 1237
817 이 달의 기술자료 - 2018년 02월 file 험프리 2018.01.25 538
816 [업데이트][핫픽스][10.2.2] 웰컴 페이지 패치 험프리 2018.01.25 483
815 2017년 가장 많이 클릭된 기술자료 TOP 7 관리자 2018.01.23 1241
814 [발표자료] 2018011 What's NEW! RAD스튜디오 10.2.2 관리자 2018.01.18 435
813 이 달의 기술자료 - 2018년 01월 험프리 2017.12.28 604
812 RFID 리더(한미IT RF Prisma) 연동하기 - 델파이에서 JAR 이용 [1] 험프리 2017.12.19 1591
811 TFrame의 생성 및 해제를 편하게 해주는 TFrame 관리 클래스입니다.. file 푸른솔 2017.12.15 1782
810 [10.2 도쿄][릴리즈2] 기타 10.2.2에서 추가 강화된 내용 file 험프리 2017.12.13 747
809 [10.2 도쿄][릴리즈2] RAD 서버 싱글 사이트 라이선스 제공 험프리 2017.12.13 662
808 [10.2 도쿄][릴리즈2] 새로운 VCL 컨트롤 4종을 사용할 수 있습니다. file 험프리 2017.12.13 825
807 [10.2 도쿄][릴리즈2] FireMonkey 퀵에디트로 주요 속성을 시각적으로 빠르게 설정할 수 있습니다. file 험프리 2017.12.13 384
806 [10.2 도쿄][릴리즈2] IDE 룩앤필이 새로워졌습니다. - 다크테마 지원, 컴포넌트 아이콘 변경 file 험프리 2017.12.13 827
805 [업데이트][10.2 도쿄][릴리즈 2] 10.2 도쿄 - 릴리즈 2 출시 & 설치방법 안내 file 험프리 2017.12.13 1729
804 [고객사례-설치도구, 델파이] RAD 안드로이드 관리자 2017.12.06 549