Ciao a tutti,
ho creato una piccola app che sostituisce il Launcher di sistema così che in avvio parta unicamente un'altra app, ma questa si avvia due volte, e non riesco a capire come mai.
B4X:
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Launcher")
End Sub
Sub Activity_Resume
Dim now As Long
Dim ms As Long
ms = 2000
now = DateTime.now
Do Until (DateTime.now > now + ms)
DoEvents
Loop
Try
Dim i As Intent
Dim p As PackageManager
i = p.GetApplicationIntent("LaMiaApp")
StartActivity(i)
Catch
End Try
End Sub
Non posso spostare tutto nella Create perchè quando si esce da "LaMiaApp", il launcher deve rilanciarla, e questo non è gestibile dalla Create del launcher, ma dal Resume.
Farò test ulteriori, ma per il momento ho risolto aumentando il valore di ms da 2000 a 4000, così attendo 4 secondi prima di far partire l'app esterna.
Non posso spingermi oltre perchè dopo 5 secondi Android considera un'app bloccata.
La soluzione non è elegante, ma per il momento sembra funzionare, anche se dovrò testarla su altri dispositivi oltre a quello a mia disposizione.