So starten Sie den Android-Dienst bei der Installation

Lesezeit: 3 Minuten

Ich habe eine Geräteverwaltungsanwendung, die beim Booten im Wesentlichen als Dienst im Hintergrund ausgeführt wird. Ich möchte diese Anwendung sofort nach der Installation starten. Wie erreiche ich das?

Sie können dies nicht tun – es gibt keine Möglichkeit, Ihren Dienst automatisch zu starten, nur weil er installiert wurde.

Die Anwendung muss zuerst vom Benutzer durch irgendeine Art von Aktivität aufgerufen werden. Oder Sie müssen sich in eine relevante Sendung einklinken Intent über das Manifest, sodass Sie die Kontrolle erhalten, wenn eines dieser Ereignisse eintritt, und Ihren Dienst auf diese Weise starten können. Oder Sie müssen den Benutzer bitten, neu zu starten, damit Ihr BOOT_COMPLETED Intent Filter kann die Kontrolle übernehmen.

  • Danke, ich vermutete, dass dies der Fall sein könnte. Scheint ein bisschen ein Versehen zu sein, wenn man bedenkt, wie gut durchdacht das Betriebssystem im Allgemeinen ist.

    – Rob Charlton

    24. Januar 10 um 14:39 Uhr

  • Ja, es ist Absicht. Die Installation der Anwendung erfolgt automatisch im Hintergrund, wenn die App heruntergeladen wird. Wir ziehen es vor, dass kein App-Code ausgeführt wird, bis der Benutzer die App explizit zum ersten Mal aufruft. (Und bitte sagen Sie dem Benutzer nicht, dass er sein Gerät neu starten soll. Das ist nicht nötig. Lassen Sie ihn einfach Ihre App ausführen und Ihre Initialisierung beim ersten Start durchführen.)

    – Hackbod

    25. Januar 10 um 7:03 Uhr

  • Ok, es dient nicht wirklich der Sicherheit, da ich Code beim Booten oder bei einer eingehenden SMS oder auf dem ausführen kann nächste Paket installieren. Ich würde dies eher in die Kategorie eines „Nudges“ in Richtung des erwarteten Plattformverhaltens einordnen. Für meine Kunden sieht es jedoch nur wie ein Fehler aus – auf Android gibt es einen zusätzlichen Rahmen, durch den man springen muss, um den Dienst zum Laufen zu bringen. Dies ist keine Anwendung, die ein Benutzer aus dem Markt auswählen würde, sondern eher die Art von Anwendung, die ein Betreiber oder Unternehmen auf dem Handgerät installieren möchte, vorzugsweise ohne jegliche Interaktion des Endbenutzers.

    – Rob Charlton

    25. Januar 10 um 13:28 Uhr

  • Wenn ein Betreiber es auf dem Mobilteil installiert, wird das Telefon neu gestartet, bevor es zum Benutzer gelangt, einfach weil die Betreiber ihren Bestand an Telefonen nicht am Laufen halten – sie werden nach der Anpassung und vor der Lieferung an einen Kunden abgeschaltet . In Bezug auf Unternehmen ist die derzeitige Form von Android für Verbraucher konzipiert, und daher wird es verschiedene Dinge auf der Plattform geben, die den Wünschen eines Unternehmens zuwiderlaufen, um Verbraucher vor Malware zu schützen.

    – CommonsWare

    25. Januar 10 um 14:03 Uhr

  • @CommonsWare: Welche Technik hat Plan B ausgenutzt?

    – Philipp

    14. Mai ’12 um 22:39 Uhr

Es gab eine Lücke – das Android Analytics SDK sendete direkt nach der Installation eine Absicht – aber die wurde geschlossen (was natürlich zu viel Verwirrung führte).

Aber die endgültige Antwort, glaube ich, ist hier:

http://developer.android.com/about/versions/android-3.1.html#launchcontrols

Dies scheint darauf hinzudeuten, dass Google ab 3.1 die Entscheidung getroffen hat, dass Apps in einem angehaltenen Zustand bleiben, bis der Benutzer sie explizit aktiviert, z. B. durch Starten der App oder Platzieren eines Widgets.

Das bedeutet, dass die Strategie, eine gewöhnliche Sendung zu hören (dh Ihre App heimlich zu starten), auch nicht funktioniert.

.

784760cookie-checkSo starten Sie den Android-Dienst bei der Installation

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy