Italian App sempre attiva [Risolto]

luciano deri

Active Member
Licensed User
C'è un modo, probabilmente tramite un servizio, di impedire che una app venga chiusa?
Lo scopo sarebbe avviare la App automaticamente all'accensione del dispositivo, e nel caso sia chiusa riparta automaticamente.
Grazie.
 

imgsimonebiliato

Well-Known Member
Licensed User
Come faccio a capire se l'app sta ancora funzionando, una volta riavviato il dispositivo?
 

imgsimonebiliato

Well-Known Member
Licensed User
Ho guardato in tutto il sito.
L'esempio di @cimperia non credo valga molto, perchè comunque qualcosa deve partire prima di controllare se esiste il file (dico guardando l'esempio)
Lo sticky_service non è utile perchè non viene ricreato.

Qualcuno c'è riuscito?
 

LucaMs

Expert
Licensed User
Metto bocca anche se non dovrei perché non ci ho mai trafficato.

I servizi hanno l'attributo #StartAtBoot, ovvero impostando questa a True il servizio si avvia all'accensione del dispositivo, penso, no?
Perché non è sufficiente, secondo voi?
 

luciano deri

Active Member
Licensed User
Così avvi il servizio che avvia la app, l'esempio detto "kiosk" ha anche la funzione che in base a un timer controlla se la app è ancora attiva e nel caso non lo fosse la fa ripartire. Non ho trovato problemi.
 

Vitt61

Member
Licensed User
Metto bocca anche se non dovrei perché non ci ho mai trafficato.

I servizi hanno l'attributo #StartAtBoot, ovvero impostando questa a True il servizio si avvia all'accensione del dispositivo, penso, no?
Perché non è sufficiente, secondo voi?
Con "#StartAtBoot: true" si avvierà automaticamente la Sub Service_Start con dentro la funzione che si desidera. nel caso si voglia far partire l'applicazione:
StartActivity ("Main")
L'accensione del dispositivo si avvia l'applicazione, ruota correttamente lo schermo e resta in Stanby sino a quando non lo si sblocca ...
 

LucaMs

Expert
Licensed User
Ho dato un'occhiata al volo adesso a quel chiosco che nemmeno vende gelati :p

A quanto pare esso non dovrebbe servire a mantenere in vita l'app ma addirittura ad impedire che si possano usare altre app oltre a quella che utilizza questo kiosk,
mentre l'obiettivo di Luciano è:
Lo scopo sarebbe avviare la App automaticamente all'accensione del dispositivo, e nel caso sia chiusa riparta automaticamente.

Quindi, usare uno Sticky Service con avvio al boot dovrebbe funzionare ed essere sufficiente, penso.
 

luciano deri

Active Member
Licensed User
In realtà l'obbiettivo è esattamente quello di dedicare il dispositivo interamente alla mia applicazione, è uno strumento di lavoro, e si vuole impedire all'utilizzatore di usarlo in modo improprio.
 

LucaMs

Expert
Licensed User
Così avvi il servizio che avvia la app, l'esempio detto "kiosk" ha anche la funzione che in base a un timer controlla se la app è ancora attiva e nel caso non lo fosse la fa ripartire. Non ho trovato problemi.

Allora hai risolto e ... "il caso è chiuso", o no?
 

imgsimonebiliato

Well-Known Member
Licensed User
Io invece ho un problema diverso.
Ho creato un servizio che fa una richiesta HTTP e riempie delle tabelle su un database
Vorrei che funzionasse solo il servizio di un'app, per cui ho messo in testa al modulo del servizio

B4X:
#Region  Service Attributes
    #StartAtBoot: True
    #StartCommandReturnValue: android.app.Service.START_STICKY
#End Region

Sub Service_Start (StartingIntent As Intent)
Time.Enabled = True
StartActivity("main")
End Sub
Soltanto se faccio lo StartActivity della Main, il servizio torna a funzionare come dovrebbe e quindi scrive sul database, altrimenti non trovo nessun dato.
E' possibile fare in modo che il servizio sia COMPLETAMENTE avviato, anche senza aprire e chiudere la main?
Qualche idea?
 

luciano deri

Active Member
Licensed User
Secondo me devi aprire la main durante l'elaborazione e chiuderla quando hai finito di caricare il DB.
 

imgsimonebiliato

Well-Known Member
Licensed User
Ma infatti così funziona... E' che vorrei evitare di far apparire la main per mezzo secondo
 
Top