자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15760
공지 유용한 관련 사이트 관리자2 2014.03.20 54577
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97974
394 AnsiString을 사용할수 없나요? [1] 파란하늘 2017.04.18 576
393 태블릿 스플래시이미지에 9-Patch 이미지를 적용했을때 화면 이상 [5] 이지현 2017.04.06 323
392 IdHttp 대체 NetHTTPClient 관련하여.. [1] 제갈공명 2017.04.11 675
391 listview 오류 [7] file 제트콜 2017.04.06 145
390 InputBox 질문입니다. 희망나라 2017.03.28 153
389 [FMX] System.IOUtils 설정 위치는 implementation 밑에 있어야 하나요? [1] 스카이 2017.03.24 142
388 string 타입 질문입니다. [2] 희망나라 2017.03.20 135
387 TstringList Addobject 질문입니다. [1] 희망나라 2017.03.17 166
386 fmx TEDIT에 스케너로 입력시 속도개선방법문의드립니다. file 오바라미 2017.03.10 165
385 카메라 권한을 runtime 시에 권한설정하려고 합니다. [3] 김하나 2017.02.28 457
384 XE10 Seattle에서 VIEW 범위 질문 [1] 당신이먼저 2017.03.04 106
383 XE10에서 Send mail 문제 [1] 당신이먼저 2017.03.01 317
382 구글 플레이스토어에 앱 등록시 openssl관련 등록거부 문제 [8] 김태윤 2017.02.20 1055
381 델파이 IBLite 안드로이드 실행시문제 [1] 스카이 2017.02.22 216
380 파이어몽키에서 아이폰으로 설치시 e8000051에러가 납니다. file 김태윤 2017.02.15 119
379 앱 재실행 관련 문의드립니다. [1] 우정 2017.02.11 284
378 iOS 호환성 문제 해결방안 file 봉가이버 2017.02.06 2228
377 Baas를 이용하지 않고 구글 푸시 서비스(FCM)를 이용하는 방법 문의 드립니다. [5] 김태윤 2017.01.25 757
376 베를린 update2 후 SqlConnect 컴포넌트가 없어요(DBexpress) 모나도 2017.01.14 105
375 안드로이드에서 앱 설치 시 External에 저장하게 하는 방법입니다. file 푸른솔 2017.01.05 307