2014-06-11 4 views
0

iphone 응용 프로그램을 개발하기 위해 firefoxkey를 사용하려고합니다. xml을 매 x 분마다 다운로드하고 처리해야합니다. 새 데이터가 있으면 알림을 보냅니다.Delphi Firemonkey ios Background Fetch

TNX 많은 ...

이 제발 도와주세요 .... 앱을 사용중인 경우 아주 쉽게,하지만 난 앱이 배경에있을 때이 절차를 사용하는 방법을 찾을 수 없습니다. .. 그러나 나는 이것을 할 수 없다. ... 이것은 나의 가장 단순한 코드 다. .. 나의 에러는 무엇인가 ???

procedure TForm1.Button1Click(Sender: TObject); 
var 
    IdHTTP1 : TIdHTTP; 
    MyFile   : TFileStream; 
    Notification: TNotification; 
    UIApp : UIApplication; 
begin 
    UIApp := TUIApplication.Wrap(TUIApplication.OCClass.sharedApplication); 
    UIApp.setIdleTimerDisabled(True); 

    TThread.CreateAnonymousThread(procedure() 
    var 
I: Integer; 
Total: Integer; 
    begin 
Total := 0; 

while true do 
    begin 

    // Carico l'XML 
    MyFile:= TFileStream.Create(TPath.GetDocumentsPath + TPath.DirectorySeparatorChar+'listticket',fmCreate); 

    IdHTTP1 := TIdHTTP.Create(nil); 
    IdHTTP1.Get('http://www.google.com', MyFile); 
    IdHTTP1.Free; 
    MyFile.Free; 

    end; 

sleep(5*60*1000); 

TThread.Synchronize (TThread.CurrentThread, 
    procedure() 
    begin 
    end); 
    end).Start; 
end; 

답변

1
+0

확인 TNX 많은,하지만 응용 프로그램이 백그라운드에있을 때 내가 명령을 실행할 수있는 능력을 찾을 수 없습니다 .. 내가 열 응용 프로그램, 로그인, 여기 홈 버튼을 누르면, 내 애플 리케이션은 10 초 동안 프로세스를 계속 진행 ... 그만! 응용 프로그램이 백그라운드에있을 때 나는 UIBackgroundModes 위치 그러나 더 이상 이벤트를 사용했다. tnx 많이 – user3730859

+0

작업자 스레드에서 다운로드를 수행하고 해당 스레드가 실행 중일 때 또는 적어도 응용 프로그램이 백그라운드에있는 동안 유휴 타이머를 비활성화하십시오. 당신은 GPS를 사용하지 않으므로'location'은 앱의 적절한 백그라운드 모드가 아니므로 대신'fetch'를 시도하십시오 : "앱은 정기적으로 네트워크에서 적은 양의 콘텐츠를 다운로드하고 처리합니다." –

+0

Tnx 많이 ...하지만이 할 수 없다 .... 이것은 작동하지 않는 내 간단한 코드입니다 ... 내 오류 무엇입니까 ??? 첫 코드에 내 코드를 게시했습니다 ... TNX A LOT – user3730859

관련 문제