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

델파이 시애틀로 안드로이드 서비스를 가동하여 TBeacon컴포넌트로 비콘에 근접시 TNotificationCenter로 알림을 넣는 예제를 만들고 있습니다.

그런데 처음 근접시 TNotificationCenter로 알림이 잘 갑니다. 하지만 신호 감지거리(약 10m)를 벗어난후 다시 근접하면 서비스가 응답없는지 메인 엑티비티및 서비스가 강제 종료됩니다. 강제 종료후 서비스가 다시 시작되기는 하지만 사용상 강제 종료는 피하고 싶습니다. 비콘감지가 서비스로 작동시 응답없음 상태로 들어가는 원인을 모르겠습니다. 서비스로 작동하지 않고 폼에 TBeacon을 올린후 타이머로 주기적으로 거리값을 감지했을때는 문제 없이 잘 작동하는데 이상합니다.

 

아래는 안드로이드 서비스에서 사용한 소스와 비콘 설정값입니다.

TBeacon설정

  BeaconDeathTime: 10

  CalcMode : Stabilized

  Enable : False //서비스 시작시 소스에서 True로 변경함

  LiveBindings Designer: +를 눌러 확장하면 Access violation...'dclbindcomp230.bpl'에러(정품사용자인데 에러납니다.)

  Mode: Standard

  Name: Beacon1

  ScanningSleepingTime: 2000

  ScanningTime : 500

  SPC: 0.5

  Tag: 0

 

 

//TNotificationCenter로 알림을 넣는 함수
procedure TAndroidServiceDM.SetNoti(Name, Title, MSG: String);
var
  MyNotification: TNotification;
begin
  MyNotification := NotificationCenter1.CreateNotification;
  try
    MyNotification.Name := Name;
    MyNotification.Title := Title;
    MyNotification.AlertBody := MSG;
//    MyNotification.FireDate := IncSecond(Now, 8);
    NotificationCenter1.ScheduleNotification(MyNotification);
  finally
    MyNotification.Free;
  end;
end;

 

//서비스 시작

function TAndroidServiceDM.AndroidServiceStartCommand(const Sender: TObject;
  const Intent: JIntent; Flags, StartId: Integer): Integer;
begin
  Beacon1.Enabled := True;

  SetNoti('ServiceNoti','비콘감지 서비스','비콘감지 시작');//서비스 시작을 알리기위함

  Result := TJService.JavaClass.START_STICKY;
end;

 

//근접값이 변경되었을때 근접했으면 TNotificationCenter로 알림

procedure TAndroidServiceDM.Beacon1BeaconProximity(const Sender: TObject;
  const ABeacon: IBeacon; Proximity: TBeaconProximity);
begin
    if (Proximity = TBeaconProximity.Immediate)  then
    begin
        SetNoti('ServiceNoti1','비콘감지 서비스','근접');

    end;

end;

 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17045
공지 유용한 관련 사이트 관리자2 2014.03.20 55882
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99322
2439 델파이 XE8에서 쓰래드 디버깅 기능 향상된 것이 있나요? Humphery 2015.05.29 715
2438 델파이 메모리 누수(leak) 지점을 분석할 수 있나요? file Humphery 2015.05.29 1932
2437 XE8 iOS Device 에러나는 이유가? [1] silkroad99 2015.05.29 472
2436 [마이그레이션][델파이4>2007] DBCtrlGrid에 DBLookupCombo를 올린 후 콤보를 선택하면 ""Operation not allowed in DBCtrlGrid"" 오류가 발생하고 목록이 표시되지 않습니다. 어떻게 해결해야하나요? 험프리 2015.05.30 405
2435 webbrowser 문의 [1] file 김하나 2015.05.30 520
2434 scrollbox 문의? [2] silkroad99 2015.06.01 213
2433 Delphi XE7 Out of Memory 버그 [2] 겨울아이 2015.06.01 1215
2432 문의 드립니다. [1] 너이쉐이홧팅 2015.06.02 147
2431 iOS app 종료는 어떻게 해야하나요? [2] silkroad99 2015.06.02 476
2430 webbrowser 이미지 보기 문의 [1] file 사랑남 2015.06.02 347
2429 기존에 개발한 DataSnap 서베의 데이터를 IBToGo, IBLite를 사용하지 않고 IOS 연동시킬 방법? [1] datare 2015.06.03 250
2428 jedi jcl 설치 오류 [1] file 미스터몽키 2015.06.03 418
2427 안드로이드 어플리케이션 테스트 중 .... [1] file 에프아이티최실장 2015.06.04 209
2426 AutoPlay prompt, select Open device to view files. 가 무슨 말인가요.. [2] 에프아이티최실장 2015.06.04 254
2425 FireDAC을 이용 MSSQL에 접속시... [2] 늦바람 2015.06.05 901
2424 Delphi XE3로 개발한 VCL 프로그램의 배포에 관해서 [4] manyoo 2015.06.05 665
2423 Webbrowser 관련문의 [1] 김하나 2015.06.05 387
2422 Intel VTune Amplifier 사용 관련 문의 [1] hims 2015.06.08 320
2421 androidapi 사용법 문의 [2] file 김하나 2015.06.09 1073
2420 프로그램 배포 시 사용하는 release 모드 설정이 안됩니다. [6] devsky 2015.06.09 928