Delphi Delphi - Как продолжать делать запросы после закрытия приложения для Android?

  • Автор темы Автор темы Lomanu4
  • Дата начала Дата начала

Lomanu4

Команда форума
Администратор
Ofline
могу продолжать делать запросы, даже если основное приложение закрыто
Код:
unit ComPhoneService1;


interface



uses
  System.SysUtils,
  System.Classes,
  System.Android.Service,
  AndroidApi.JNI.GraphicsContentViewText,
  Androidapi.JNI.Os, System.Notification, Data.DB, DBAccess, Uni, MemDS,
  UniProvider, MySQLUniProvider, System.IOUtils, System.Threading;



type
  TDM = class(TAndroidService)
    NotificationCenter1: TNotificationCenter;
    MySQLUniProvider1: TMySQLUniProvider;
    UniBaglanti: TUniConnection;
    UniQuery1: TUniQuery;
    function AndroidServiceStartCommand(const Sender: TObject;
      const Intent: JIntent; Flags, StartId: Integer): Integer;



    Procedure Sorgu;
  private
    { Private declarations }
  public
    { Public declarations }
  end;



var
  DM: TDM;



implementation



{%CLASSGROUP 'FMX.Controls.TControl'}



{$R *.dfm}
    uses
     AndroidAPI.JNI.APP;



Procedure TDM.Sorgu;
var
 IniFile: TStringList;
 Bildirim: TNotification;
begin
  TThread.CreateAnonymousThread(procedure()
  var
   A: Boolean;
   begin
     A := False;
     Repeat
      begin
         Sleep(10000);
         if FileExists(TPath.GetPublicPath + '/pcid.ini', True) = True then
       begin
          try
           IniFile := TStringList.Create;
           IniFile.LoadFromFile(TPath.GetPublicPath + '/pcid.ini');



           UniQuery1.SQL.Text := 'select * from tblHareketler where PCID=:aydi and Goruldu=:Durum';
           UniQuery1.ParamByName('aydi').Value := Trim(IniFile.Text);
           UniQuery1.ParamByName('Durum').Value := 'Gorulmedi';
           UniQuery1.ExecSQL;
           UniQuery1.Open;



            if UniQuery1.RecordCount > 0 then
           begin
            Bildirim := NotificationCenter1.CreateNotification;
            Bildirim.AlertBody := 'Yeni eylemler mevcut! Görmek için lütfen tıklayınız';
            NotificationCenter1.PresentNotification(Bildirim);
           end;
          finally
            IniFile.Free;
          end;
       end;
      end;
     Until A = True;
   end).Start;
end;



function TDM.AndroidServiceStartCommand(const Sender: TObject;
  const Intent: JIntent; Flags, StartId: Integer): Integer;
begin
  Sorgu;
  Result := TJService.JavaClass.START_STICKY;
end;



end.
 
Назад
Сверху Снизу