새로운 글
새로운 덧글

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


먼저 상단(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


참고 글

번호 제목 글쓴이 날짜 조회 수
공지 [10.3 리오][업데이트 3] What's NEW! 신기능 자세히 보기 관리자 2019.11.22 1756
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 3964
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 6783
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 3196
공지 [프로그래밍 강의] 2019.8~2019.12 관리자 2015.01.22 10221
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 관리자 2015.06.30 16373
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2019년 11월 업데이트 됨) 험프리 2014.01.16 153715
600 SVN 서버 설치하기 - Visual SVN 이용 험프리 2016.02.29 2376
599 RAD Studio IDE에서 SVN 사용하기 + TortoiseSVN 사용하기 험프리 2016.02.29 712
598 이 달의 기술자료 - 2016년 03월 [1] file 험프리 2016.02.25 609
597 애플 WWDR 인증서 만료로 iOS 개발자 인증서 이슈 해결 방안 험프리 2016.02.17 959
596 OutputDebugString 함수로 디버그로그를 출력할 수 있습니다. file 험프리 2016.02.16 1998
595 RAD Studio 2016년 로드맵 험프리 2016.02.15 1325
594 이 달의 기술자료 - 2016년 2월 file 험프리 2016.01.26 432
593 IDE의 -r 커맨드라인 스위치로 IDE 시작 오류를 해결할 수 있습니다. file 험프리 2016.01.08 418
592 RAD Studio 빌드번호 확인하는 방법법 [1] file 험프리 2016.01.08 7400
591 인터베이스 데이터베이스와 테이블 생성하기 [3] file 험프리 2016.01.07 1378
590 [팁] 온라인 바이러스 진단 서비스 - 구글 Virus Total file 험프리 2016.01.06 575
589 [업데이트][핫픽스][10 시애틀] 모던테마(ModernTheme) 핫픽스 - 10 시애틀 업데이트 1 대상 험프리 2016.01.06 608
588 [발표자료] 2015년 12월 C++ Skill Sprints 온라인 세미나 시리즈 관리자 2015.12.30 232
587 이 달의 기술자료 - 2016년 01월 file 험프리 2015.12.28 352
586 [업데이트][핫픽스][10 시애틀] 10 시애틀 iOS 9.2 C++ 핫픽스 험프리 2015.12.28 312
585 Skill Sprint: C++과 안드로이드 인텐트(Intent)를 이용해 앱간 통신하기 험프리 2015.12.11 922
584 (작성 중) 파이어몽키 모바일 개발에 대한 FAQ [1] 험프리 2015.12.01 402
583 이 달의 기술자료 - 2015년 12월 file 험프리 2015.11.27 405
582 [업데이트][10 시애틀] RAD Studio 10 시애틀 서브스크립션 업데이트 1 [3] file 험프리 2015.11.25 1214
581 [발표자료] 20151124 온라인세미나: 델파이 코드 마이그레이션 Step by Step 관리자 2015.11.25 432


광고 모듈이 설치되어 있지 않아 실행을 중단합니다..