Ciao a tutti, ritorno con il problema, la mia app deve svolgere il monitoraggio in background di numeri inviati ad un host del mio sito web, ogni 3 secondi interroga il sito web visualizzando il numero in quel momento inviato, non appena questo numero corrisponde con il numero memorizzato nell'app, questa dovrebbe svegliarsi dal background e suonare avvisando anche del numero corrispondente, tutto funziona perfettamente anche ij background, ma dopo un po sembra non essere più attiva come se fosse uccisa, eppure la notifica rimane sempre presente sul telefono, dove sbaglio e sopratutto come faccio ad avere l'app sempre sveglia in background, vi posto il modulo service per capiere se sbaglio qualcosa.
perchè non rimane attivo come mai non si sveglia dopo qualche ora in backgr più appena il numero ricevuto e 0 al numero prenotato?
B4X:
#Region Service Attributes
#StartAtBoot: True
#StartCommandReturnValue: android.app.Service.START_STICKY
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim N As Notification
Dim hc As OkHttpClient
Dim testo As String
Dim timer1 As Timer
Dim timer2 As Timer
Dim timer3 As Timer
Dim timer4 As Timer
Dim risultatoA As String
Dim risultatoB As String
Dim risultatoC As String
Dim risultatoD As String
End Sub
Sub Service_Create
n.Initialize
n.Icon = "icon"
n.Sound = False
n.Vibrate = False
n.Light = False
n.OnGoingEvent=True
n.SetInfo("Turn And Go","Numero prenotato " & Main.chiamataA & " " & Main.chiamataB & " " & Main.chiamataC & " " & Main.chiamataD ,Main)
n.Notify(1)
hc.Initialize("hc")
timer1.Initialize("timer1",3000)
timer2.Initialize("timer2",3000)
timer3.Initialize("timer3",3000)
timer4.Initialize("timer4",3000)
timer1.Enabled=True
timer2.Enabled=True
timer3.Enabled=True
timer4.Enabled=True
End Sub
Sub Service_Start (StartingIntent As Intent)
Service.StartForeground(1,n)
StartServiceAt(Me, DateTime.Now + 30 * DateTime.TicksPerMinute, True)
risultatoA = Main.chiamataA
risultatoB = Main.chiamataB
risultatoC = Main.chiamataC
risultatoD = Main.chiamataD
End Sub
Sub timer1_Tick
Log("sono sulla sub timer1 di Starter")
Dim job As HttpJob
job.Initialize("Job", Me)
job.Download("http://www.xxxxx.xxx/xxxxxx/"& Main.linea & "/NumeroA.txt")
End Sub
Sub timer2_Tick
Log("sono sulla sub timer2 di Starter")
Dim job As HttpJob
job.Initialize("Job", Me)
job.Download("http://www.xxxxx.xxx/xxxxxx/"& Main.linea & "/NumeroB.txt")
End Sub
Sub timer3_Tick
Log("sono sulla sub timer3")
Dim job As HttpJob
job.Initialize("Job", Me)
job.Download("http://www.xxxxx.xxx/xxxxxx/"& Main.linea & "/NumeroC.txt")
End Sub
Sub timer4_Tick
Log("sono sulla sub timer4")
Dim job As HttpJob
job.Initialize("Job", Me)
job.Download("http://www.xxxxx.xxx/xxxxxx/"& Main.linea & "/NumeroD.txt")
End Sub
Sub JobDone (job As HttpJob)
Log("JobName = " & job.JobName & ", Success = " & job.Success)
If job.Success = True Then
Select job.JobName
Case "Job" , "job2"
'print the result to the logs
testo =job.GetString
Log(job.GetString)
If testo.StartsWith("A") Then
Log("su starter nel job " & risultatoA)
If job.GetString = risultatoA Then
Log("minchiaaaaa")
StartActivity(avviso)
End If
else if testo.StartsWith("B") Then
If job.GetString = risultatoB Then
Log("minchiaaaaa")
StartActivity(avviso)
End If
else if testo.StartsWith("C") Then
If job.GetString = risultatoC Then
Log("minchiaaaaa")
StartActivity(avviso)
End If
else if testo.StartsWith("D") Then
If job.GetString = risultatoD Then
Log("minchiaaaaa")
StartActivity(avviso)
End If
End If
Case "Job3"
'show the downloaded image
'Activity.SetBackgroundImage(job.GetBitmap)
End Select
Else
Log("Error: " & job.ErrorMessage)
'ToastMessageShow("Error: " & job.ErrorMessage, True)
End If
job.Release
End Sub
Sub testo_TextChanged (Old As String, New As String)
If testo = Old Then
Else
Log("vai sulla sub Creafile")
End If
End Sub
Sub Service_Destroy
n.Cancel(1)
End Sub
perchè non rimane attivo come mai non si sveglia dopo qualche ora in backgr più appena il numero ricevuto e 0 al numero prenotato?
Last edited: