2

Standardmäßig konnte eine Anwendung, die unter den Status (noch nicht einmal ausgeführt) nicht empfangen konnte Broadcasts. Es gibt eine Möglichkeit, sie zu empfangen, wenn wir dem Broadcast Intent das Flag FLAG_INCLUDE_STOPPED_PACKAGES hinzufügen.Empfangen von Broadcasts in gestoppter Anwendung

Mein Problem ist, dass ich die Systemabsicht erhalten muss (und ich möchte diese Markierung nicht hinzufügen).

Wie kann ich es auch in gestoppter Anwendung erhalten?

Es scheint mir, dass es sicher ist, weil zum Beispiel com.android.shell Anwendung in der Lage ist, solche Absichten zu erhalten, auch wenn es Kraft gestoppt ist. Wie macht es das?


EDIT:

Nur um zu klären, weil es schien, dass dies nicht offensichtlich ist:

Alles hier ist aus der Sicht des Android Open Source Project Entwickler. Ich modifiziere den Quellcode des Betriebssystems und die Anwendung, die ich die Übertragung erhalten möchte, könnte vorinstalliert sein, mit Plattform-Zertifikat signiert sein, kann versteckte API verwenden, etc. Alles ist erlaubt, auch Änderungen des Systems.

+2

"Mein Problem ist, dass ich die Systemabsicht android.intent.action.MEDIA_MOUNTED erhalten muss (und ich möchte dieses Flag nicht hinzufügen)" - Sie können das Flag nicht hinzufügen, auch wenn Sie wollten zu, denn Sie sind nicht derjenige, der die "Absicht" ausstrahlt. "Wie kann ich es auch bei abgebrochener Bewerbung erhalten?" - Eine gewöhnliche SDK-App kann dies nicht tun. Es ist denkbar, dass System-Apps dies tun können, zumindest vorinstallierte. Und natürlich könnte ein benutzerdefiniertes ROM mit einer modifizierten Version von Android dies bieten. – CommonsWare

+0

@CommonsWare: Bitte beachten Sie die bearbeitete Frage. Meine App ist keine gewöhnliche SDK-App und ich kann das System ändern. Die Frage ist, wie man es bequem macht. – damgad

+0

Ah, ja, das ändert die Situation erheblich. Ich kann Ihnen dabei nicht helfen, und im Allgemeinen hat Stack Overflow mehr Ressourcen, um gewöhnliche SDK-Apps zu unterstützen. Eine mögliche Lösung wäre, den Force-Stop für Ihre App zu deaktivieren. Eine Reihe von System-Apps macht das, und ich nehme an, dass es ein Rezept gibt, um so eine andere System-App zu konfigurieren. Dann sollte der Benutzer nicht in der Lage sein, Ihre App überhaupt in den gestoppten Zustand zu versetzen. – CommonsWare

Antwort

Verwandte Themen