Ho un'applicazione di gestione dispositivi, che essenzialmente viene eseguita come servizio in background dal boot. Mi piacerebbe avviare questa applicazione subito dopo l'installazione. Come ottengo questo?Come avviare il servizio Android all'installazione
risposta
Non è possibile farlo: non è possibile avviare automaticamente il servizio semplicemente perché è stato installato.
L'applicazione deve essere prima richiamata dall'utente tramite una sorta di attività. In alternativa, è necessario collegarsi ad alcune trasmissioni rilevanti Intent
tramite il manifest, in modo da poter ottenere il controllo quando si verifica uno di quegli eventi e dare il via al servizio in quel modo. In alternativa, dovrai chiedere all'utente di riavviarsi in modo che il tuo filtro Intent
possa ottenere il controllo.
C'è stato un buco - l'SDK di Android Analytics utilizzato per inviare un tentativo subito dopo l'installazione - ma che è stato chiuso (producendo molta confusione, ovviamente).
Ma la risposta definitiva, credo, è qui:
http://developer.android.com/about/versions/android-3.1.html#launchcontrols
Questo sembra suggerire che, a partire dal 3.1, Google ha preso la decisione che le applicazioni sono in uno stato di arresto fino a quando l'utente attiva in modo esplicito loro, ad es lanciando app o posizionando il widget.
Ciò significa che la strategia di ascolto di una trasmissione comune (ad esempio per far sì che l'app venga avviata di nascosto) non funzionerà.
- 1. Come avviare automaticamente il servizio in Android?
- 2. Come avviare il servizio Android da un'altra app Android
- 3. Android: avviare il servizio all'avvio, ma non avviare la GUI
- 4. come avviare il servizio in Android senza attività
- 5. Come avviare l'app Android solo per il servizio
- 6. Come avviare un servizio quando il dispositivo Android è acceso?
- 7. Impossibile avviare il servizio Windows
- 8. Impossibile avviare il servizio mongodb
- 9. come avviare il servizio dai frammenti
- 10. Come avviare automaticamente il servizio nodo?
- 11. PhoneGap. Impossibile avviare il servizio di geolocalizzazione
- 12. Impossibile avviare il servizio Puppetserver
- 13. Android: Stop/avviare il servizio creato nel onCreate()
- 14. Android: avviare il servizio con Context.startService vs PendingIntent.getService
- 15. Come avviare un servizio Android da un'attività e interrompere il servizio in un'altra attività?
- 16. "Impossibile avviare il servizio intenti" l'errore quando si avvia il servizio da un'attività in Android
- 17. Avviare l'applicazione Android senza attività principale e avviare il servizio all'avvio dell'applicazione
- 18. Impossibile avviare il servizio Intenzione: non trovato
- 19. , "Impossibile avviare il servizio di raccolta standard"
- 20. Impossibile avviare il servizio cygwin sshd
- 21. Come fare avviare il servizio Windows come "Automatico (avvio ritardato)"
- 22. Come avviare il dispositivo Android all'accensione?
- 23. Avviare MySQL Server come servizio (Win 8)
- 24. Come avviare un'attività da un servizio?
- 25. Come avviare e interrompere il servizio Android da una shell adb?
- 26. Come avviare automaticamente un'applicazione Android?
- 27. Start-Service: impossibile avviare il servizio "Servizio host fabric di servizio Microsoft (FabricHostSvc)"
- 28. In burattino, come fermare un servizio, eseguire qualche azione e quindi avviare il servizio?
- 29. Come avviare una nuova discussione in un servizio?
- 30. Come utilizzare il servizio WCF con Android
Grazie, ho il sospetto che potrebbe essere il caso. Sembra un po 'di supervisione dato quanto è ben pensato il sistema operativo in generale. –
È una cosa di sicurezza, per quanto ho capito. Non è sicuramente una svista, in quanto il team principale di Android ha commentato questa richiesta più volte in passato. – CommonsWare
Sì, è intenzionale. L'installazione dell'applicazione avviene automaticamente in background quando l'app viene scaricata. Preferiamo che nessun codice app venga eseguito finché l'utente non si reca esplicitamente sull'app la prima volta. (E per favore non chiedere all'utente di riavviare il loro dispositivo.) Non è necessario. Esegui l'app e esegui l'inizializzazione al primo avvio.) – hackbod