![]() |
|
[ÇÖZÜLDÜ] Restclient Android sürüm kararsızlığı [ÇÖZÜLDÜ] - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7) +--- Konu Başlığı: [ÇÖZÜLDÜ] Restclient Android sürüm kararsızlığı [ÇÖZÜLDÜ] (/showthread.php?tid=4640) |
[ÇÖZÜLDÜ] Restclient Android sürüm kararsızlığı [ÇÖZÜLDÜ] - arsl01 - 23-03-2020 Merhaba iyi günler, Değişik bir sorunum var Android servis yazıyorum Server kontrolu yapıp ona göre bildirim atıyorum. Daha önce Unidac bileşenleri ile yaptığımda hiçbir sıkıntı yoktu fakat Rest bileşenleri ile yapmaya çalıştım bu sefer kendi cihazım android 8.1 de çok güzel çalışıyorken android 9 ve 10'da tepki vermiyor uygulama açık olsa bile çalışmıyor(Servis arka planda çalışmakta). Servis Kodlarını paylaşıyorum, bu sorun sdk ayarlarından olabilirmi android 8 yüklüydü sadece şuan android 10 sdksını yükledim ama sorun halen aynı. unit Unit3;
interface
uses
System.SysUtils,
System.Classes,
System.Android.Service,
AndroidApi.JNI.GraphicsContentViewText,
AndroidApi.JNI.Os, System.Notification, Data.DB, MemDS, DBAccess, Uni,
REST.Types, REST.Client, Data.Bind.Components, Data.Bind.ObjectScope ;
type
TDMm = class(TAndroidService)
NotificationC: TNotificationCenter;
RESTClient1: TRESTClient;
RESTRequest1: TRESTRequest;
RESTResponse1: TRESTResponse;
procedure AndroidServiceCreate(Sender: TObject);
function AndroidServiceStartCommand(const Sender: TObject;
const Intent: JIntent; Flags, StartId: Integer): Integer;
private
procedure ThreadingProcRun(const ARunProc: TProc;
const SleepMilliSecond: Integer);
procedure NotificationCreate;
public
{ Public declarations }
end;
var
DMm: TDMm;
implementation
uses AndroidApi.JNI.App, NetworkState, RootUnit;
{%CLASSGROUP 'FMX.Controls.TControl'}
{$R *.dfm}
procedure TDMm.AndroidServiceCreate(Sender: TObject);
Var
xNotification: TNotification;
begin
ThreadingProcRun(NotificationCreate, 60000);
end;
function TDMm.AndroidServiceStartCommand(const Sender: TObject;
const Intent: JIntent; Flags, StartId: Integer): Integer;
begin
Result := TJService.JavaClass.START_STICKY;
end;
procedure TDMm.NotificationCreate;
var
aNotification: TNotification;
NS: TNetworkState;
A: TRootDTO;
begin
A := TRootDTO.Create;
NS := TNetworkState.Create;
if not NS.IsConnected then
begin
NS.Free;
exit;
end;
RESTRequest1.Execute;
A.AsJson := RESTResponse1.Content;
if A.Info = '1' then
begin
aNotification := NotificationC.CreateNotification;
try
with xNotification do
begin
AlertBody := 'Bildirim Deneme!';
NotificationC.ScheduleNotification(aNotification);
end;
finally
aNotification.DisposeOf;
end;
end;
end;
procedure TDMm.ThreadingProcRun(const ARunProc: TProc;
const SleepMilliSecond: Integer);
begin
TThread.CreateAnonymousThread(
procedure()
begin
while True do
begin
ARunProc;
Sleep(SleepMilliSecond);
end;
end).Start;
end;
end.
Cvp: Restclient Android sürüm kararsızlığı - Fesih ARSLAN - 23-03-2020 Merhaba, Sorunun kaynağı muhtemelen ClearTextTraffic. Restclient Android sürüm kararsızlığı - arsl01 - 23-03-2020 Hocam Çok teşekkür ederim 3gündür bakmadığım konu kalmamıştı Sdkları bile güncelledim sayenizde sorun çözüldü [ÇÖZÜLDÜ] Restclient Android sürüm kararsızlığı [ÇÖZÜLDÜ] - arsl01 - 23-03-2020 Hocam Arkaplanda çalışması için hangi izinleri almalıyım? Cvp: [ÇÖZÜLDÜ] Restclient Android sürüm kararsızlığı [ÇÖZÜLDÜ] - Fesih ARSLAN - 23-03-2020 (23-03-2020, Saat: 22:11)arsl01 Adlı Kullanıcıdan Alıntı: Hocam Arkaplanda çalışması için hangi izinleri almalıyım? Mobil platformda, arka plan işlemi yaptığınızda bu izin işletim sistemi tarafından doğrudan veriliyor. iOS uygulama ayarlarından sonradan kullanıcı tarafından bu izin kapatılabilir. Android için bu durum söz konusu değil. Çünkü servis farklı bir activity (servis gibi) olarak çalışıyor. iOS uygulamada servis ile ana uygulama tek uygulama olarak çalışıyor. iOS uygulama ayarlarından background mode seçeneklerinden birini seçmeniz durumunda uygulamanız bir servis gibi arka planda çalışacaktır. [ÇÖZÜLDÜ] Restclient Android sürüm kararsızlığı [ÇÖZÜLDÜ] - arsl01 - 23-03-2020 Anladım Fakat android cihazda uygulama ayarlarından pil tasarrufu ayarını kısıtlama yok yapmazsam servis çalışmıyor Telefon Model:Xiaomi redmi 5 plus,Xiaom note 8 |