새로운 글
새로운 덧글

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


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


참고 글

번호 제목 글쓴이 날짜 조회 수
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 1315
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 4511
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 1020
공지 [프로그래밍 강의] 2019.8~2019.12 관리자 2015.01.22 7929
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 관리자 2015.06.30 13579
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2019년 5월 업데이트 됨) 험프리 2014.01.16 150392
512 이 달의 기술자료 - 2015년 06월 file 험프리 2015.05.28 3380
511 RAD Studio XE8을 지원하는 외부 컴포넌트와 도구 Humphery 2015.05.28 710
510 [XE8] Getit(패키지 관리자) - 번거로운 컴포넌트 검색과 설치를 손쉽게 할 수 있습니다. file Humphery 2015.05.28 885
509 [윈도우10] RAD Studio XE8로 윈도우 10 애플리케이션 만들기 file Humphery 2015.05.26 1166
508 [XE8] 애플리케이션 외관을 멋지고 일관되게 적용할 수 있는 프리미엄 스타일(Radiant, Vapor 추가) Humphery 2015.05.19 903
507 파이어닥(FireDAC)으로 IBLite 연결 시 "unavaliable database." 오류 발생에 대한 대응 file Humphery 2015.05.15 590
506 20150512 [온라인세미나] 윈도우와 다양한 디바이스: 처음 만나는 RAD Studio XE8 관리자 2015.05.13 371
505 [업데이트][핫픽스][XE8] iOS 8 시뮬레이터 변경사항 대응 file Humphery 2015.05.11 723
504 [발표자료] RAD Studio XE8 출시 세미나 관리자 2015.05.01 529
503 [업데이트][핫픽스][XE8] iOS 플랫폼의 SQLite 라이브러리 누락 패치 file Humphery 2015.04.30 674
502 [XE8] 번거로운 수작업을 줄여 핵심기능 개발에 집중할 수 있는 개발 생산성 향상도구 Humphery 2015.04.28 737
501 [XE8] TAppAnalytics 컴포넌트로 앱의 사용량 수집, 분석해 사용성을 이해할 수 있습니다. file Humphery 2015.04.27 649
500 델파이에서 MSOffice 엑셀과 워드 연동 참고자료. [1] Humphery 2015.04.27 2873
499 이 달의 기술자료 - 2015년 05월 file 험프리 2015.04.24 5350
498 [델파이7 이후 새로운 기능][XE2~] 프로젝트 매니저에서 타겟플랫폼을 64-bit Windows로 선택 해 64비트 애플리케이션을 개발할 수 있습니다. file Humphery 2015.04.23 1345
497 [델파이7 이후 새로운 기능] 추가되고 개선된 VCL 컴포넌트 Humphery 2015.04.22 2468
496 [델파이7 이후 새로운 기능] 코딩 생산성을 높여주는 코드에디터 기능들 Humphery 2015.04.21 1989
495 XE8로 구현한 멀티플랫폼 클립보드 공유앱 런칭 file c2design 2015.04.19 1041
494 Thalmic Labs의 MYO Armband Delphi SDK Beta7입니다. 쭈니아빠 2015.04.18 835
493 [XE8] 오프라인에서 도움말을 볼 수 있습니다.(CHM 형식) Humphery 2015.04.17 749


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