자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54582
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97993
3239 FireMonkey에서 한글 입력에 대한 문제 [3] file sumily 2012.04.04 11419
3238 Indy ftp 한글깨짐 질문 입니다 [8] sdj 2012.04.04 20922
3237 TStyleManager 관련 질문 [4] 구군v 2012.04.05 11556
3236 델파이 XE2에서 MS-SQL에 연결이 안되요 관리자 2012.04.05 14212
3235 제다이(Jedi) 컴포넌트 설치 방법을 알려주세요 [1] 관리자 2012.04.05 43141
3234 델파이 프로그래밍언어 책 구입했는데요 [1] secret 나본좌 2012.04.10 2
3233 [질문] paradox db 공유... [3] 따라쟁이 2012.04.10 9662
3232 RadPHP와 관련해서 스터디 할만한 자료는 없나요? 관리자 2012.04.10 8150
3231 V3가 델파이를 바이러스로 인식해요 관리자 2012.04.10 10399
3230 책 19쪽에 맨처음 하는 예제에서요 secret 나본좌 2012.04.11 2
3229 한글 [3] file 모든길 2012.04.12 9256
3228 그리드 연결 [1] file 모든길 2012.04.13 8303
3227 빌더책 코드 질문좀요 [1] 축구 2012.04.13 9642
3226 MAC 앱스토아 등록시 Sandbox 처리 관련 [1] c2design 2012.04.16 10491
3225 안드로이드에서 Datasnap 서버를 이용하여 Oracle DB에 이미지 저장 [2] keke22 2012.04.17 12196
3224 델파이에서 커스템 익셉션을 만들고 싶어요 file 관리자 2012.04.17 8141
3223 라이브러리, TZMySqlQuery 객체 생성 [2] file hyunj 2012.04.18 9195
3222 안녕하세요. 아름넷닷컴 김광수 입니다. VB로 만들어진 OCX인데 델파이 2007에 사용할수가 없어서 문의 드립니다. [7] file 김광수 2012.04.19 13503
3221 Delphi 5의 Oracle 11G Multi language DB 지원 유무 문의 [4] 압둘라애인 2012.04.19 11022
3220 RAD PHP 개발과정 및 배포방법 [2] cdrd 2012.04.23 9618