자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17304
공지 유용한 관련 사이트 관리자2 2014.03.20 56185
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99610
799 delphi xe7에서 tsclib.dll 사용 문의드립니다. [1] zzakakzzakak 2015.03.14 1086
798 ios ,아이폰 mssql 2000 데이터접속시 한글깨짐 [4] file 텔로스김 2016.06.10 1087
797 intent 이용 sms,mms 보낼때 이미지 파일및 동영상파일 첨부는?? 고견을 부탁드립니다. 답변 0 [1] kerry 2017.12.12 1088
796 델파이로 맥 애플리케이션을 만들었는데 오라클 DB에 FireDAC으로 어떻게 연결하나요? 관리자 2014.11.21 1102
795 델파이xe 10.2 윈도우10 설치시 Editor창 문자열 한글 크기가 너무 작아집니다. [1] file 미스터몽키 2018.03.17 1106
794 [xe7] 모바일에서 제가 만든 컨트롤에 키보드를 연결하려면 어떻게 해야 하나요? [2] Happycube 2014.12.01 1111
793 [베를린] 안드로이드로 빌드하면 Exec Error... PATH C:.... 오류가 발생합니다. [2] file 델사냥 2016.06.21 1119
792 FireDac Transaction 문의 [2] BD 2021.04.19 1120
791 FormatDateTime 함수 사용시. [3] 공감 2016.01.18 1123
790 모바일 화면 크기 자동맞춤기능 [1] syc 2015.09.28 1124
789 앱에서 글자가 위아래 잘려 보이는 현상 해결 방안 문의 [8] file 지병철 2018.10.05 1127
788 질문) intraweb 한글깨짐 [2] file 피터 2014.12.23 1129
787 FireDAC - PostgreSQL 연동 과정에서 64비트 문제 발생 [5] file 정한결 2019.02.13 1130
786 [세미나] XE7 온라인 세미나(2014년 9월 16일) 질문과 답변 Humphery 2014.09.17 1130
785 [세미나] 향후 NFC 같은 하드웨어 장비 콤포넌트가 추가 될 계획은 없는지? [1] Humphery 2014.10.31 1132
784 10.3에서 핸드폰과 연결이 안되요? [7] file 화이부동 2018.11.23 1132
783 [세미나] BaaS 클라이언트 컴포넌트는 XE6에서 제공하는 건가요? [1] Humphery 2014.07.30 1133
782 compile error(link) [1] 우석이 2014.11.23 1135
781 idSMTP 메일 보낼때 라이브러리 문의 [6] 네오 2018.04.20 1137
780 푸쉬 이벤트 관련하여 몇가지 문의 드립니다. [1] 뭉게구름 2015.04.03 1137