자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------

안녕하세요 

 

안드로이드 앱개발 새내기 입니다.

 

다름이 아니라 이번에 개발하는 어플에 한가지 문제점이 있어 문의 드립니다.

 

델파이 10.2 도쿄버전으로 개발중입니다.

서버와 스마트폰어플로 TCP/IP 통신을 하는게 주된 어플리케이션입니다.

근데 안드로이드5 이상 버전에서는 스마트폰의 홈버튼으로 어플을 감춰놓으면 3~4분후에 종료됩니다.

종료와 동시에 TCP/IP 커넥션이 끊기게 되어 개발된 앱을 사용할수가 없는 상황입니다.

 

구글검색으로 한가지 방법을 찾아 StartForegroundService라는 안드로이드 서비스를 찾아냈지만,

델파이로 사용된 정확한 예시소스를 찾을수 없어 계속 실패하고 있습니다.

 

혹시 자바가 아닌 델파이로 구현된 StartForeground 기능을 알고계시다면 도움을 주시길 부탁드립니다.

 

구글검색으로 찾았던 소스도 같이 올려드립니다.

 

type
  TGeneratorUniqueID = class
  const
    SETTINGS_NOTIFICATION_UNIQUE_ID = 'SETTINGS_NOTIFICATION_UNIQUE_ID2';
  strict private
    class var FNextUniqueID: Int64;
  public
    class constructor Create;
    class function GenerateID: Integer;
  end;

const
  FMX_NOTIFICATION_CENTER = 'FMX_NOTIFICATION_CENTER2';

class constructor TGeneratorUniqueID.Create;
var
  Preference: JSharedPreferences;
begin
  Preference := SharedActivity.getSharedPreferences(StringToJString(FMX_NOTIFICATION_CENTER), TJContext.JavaClass.MODE_PRIVATE);
  FNextUniqueID := Preference.getInt(StringToJString(SETTINGS_NOTIFICATION_UNIQUE_ID), 0);
end;

class function TGeneratorUniqueID.GenerateID: Integer;
var
  PreferenceEditor: JSharedPreferences_Editor;
  Preference: JSharedPreferences;
begin
  Preference := SharedActivity.getPreferences(TJContext.JavaClass.MODE_PRIVATE);
  PreferenceEditor := Preference.edit;
  try
    PreferenceEditor.putInt(StringToJString(SETTINGS_NOTIFICATION_UNIQUE_ID), FNextUniqueID);
  finally
    PreferenceEditor.commit;
  end;
  Result := FNextUniqueID;
  Inc(FNextUniqueID);
end;

//* My code
procedure TFormMain.SetForeground;
var
    Service: JService;
    notification: JNotification;
    NotificationCompat_Builder: JNotificationCompat_Builder;
    Intent: JIntent;
begin
    NotificationCompat_Builder := TJNotificationCompat_Builder.Create;
    NotificationCompat_Builder := NotificationCompat_Builder.setSmallIcon(SharedActivityContext.getApplicationInfo.icon);
    NotificationCompat_Builder := NotificationCompat_Builder.setContentTitle(StrToJCharSequence(GetApplicationTitle));
    NotificationCompat_Builder := NotificationCompat_Builder.setContentText(StrToJCharSequence('Body'));

    notification := NotificationCompat_Builder.build;

    Intent := TJIntent.Create;
    Intent.setClass(SharedActivityContext, SharedActivityContext.getClass);
    Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_SINGLE_TOP or TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP);
    Intent.setAction(TJFMXNotificationAlarm.JavaClass.ACTION_FMX_NOTIFICATION);

    notification.setLatestEventInfo(MainActivity.getApplicationContext, StrToJCharSequence('Title'), StrToJCharSequence('Text'), TJPendingIntent.JavaClass.getActivity(SharedActivityContext, TGeneratorUniqueID.GenerateID, Intent, 0));

    Service.startForeground(1, notification);
end;

출처 : http://codeverge.com/embarcadero.delphi.firemonkey/help-with-android-firemonkey-st/1058681

 

노란색으로 표시한 부분에 [TJFMXNotificationAlarm]  은 어떤 라이브러리를 Uses 해야되는지 찾지못해 

주석처리하고 사용해보았지만 실패했습니다.

 

참고될만한 조언 부탁드립니다.

감사합니다.

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15766
공지 유용한 관련 사이트 관리자2 2014.03.20 54580
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97985
1933 델파이 xe seattle 10 사용중 이미지 인쇄 버그 네이트 2020.11.17 81
1932 Delphi 10.4.1 iOS 카메라 앨범 다중 선택 방법 [1] 로로봉 2020.10.28 186
1931 xe4 2D 바코드 사용하려면? [1] 왕팝콘 2020.11.17 153
1930 마우스 오버 문제...........? [2] 헨씀히포 2020.11.06 256
1929 안녕하세요. Undo에 관한 질문입니다. [1] 벌꿀이 2020.11.12 165
1928 서비스 프로그램 디버깅 맛재현 2020.11.12 116
1927 오라클-FireDAC 배포시 cannot initialize oci environment 오류 발생 문의 드립니다. [3] agallee 2020.10.28 345
1926 델파이 10.3.2 에서 메인메뉴 컴포넌트에서 드래그앤드롭을 쓰고 싶은데 방법을 모르곘습니다ㅠ file ggg 2020.11.05 329
1925 XE5 에서 REST API JSON 요청시 전송되는 값이 일부 ASCII 로 변환됩니다. osy 2020.10.23 193
1924 반투명 판넬 구현하기...? [2] 헨씀히포 2020.10.23 1196
1923 Delphi 10.4.1 iOS TDateEdit 문의 file 로로봉 2020.10.23 161
1922 xe5 에서 rest api 요청시 ansi 문자로 전송하는 방법을 문의드립니다. osy 2020.10.22 166
1921 델파이 XE8에서 사용할수 잇는 이미지 컴포넌트를 구입하고 싶습니다 헨씀히포 2020.10.21 134
1920 RS232 통신 구현방법을 문의 드립니다. [1] delphi1 2020.10.14 373
1919 FireDac 에서 informix 연결이 안됩니다.. 도와주세요 [2] file 천공인 2020.09.18 299
1918 FastReport에서 코드작성은 어떻게 해야되나요? 코드탭이 아예 선택이 안되네요.. [2] file 왕초보 2020.10.13 254
1917 Getit Package Manager에서 Fast Report VCL 설치하려는데 에러납니다 도와주세요 [2] file 왕초보 2020.10.12 214
1916 갑자기 발생한 There is a problem with the site's security certoficate 에러 [4] file 노력하는삶 2020.10.12 286
1915 datasnap 서버프로그램에서 특정클라이언트에게만 내용을 전달할수가 있을까요 [1] 라빌레나 2020.10.02 369
1914 10.4 시드니에서 푸시가 (Android, IOS) 가 되는지요? [1] delphiman 2020.10.05 162